
C_C++
文章平均质量分 73
iWinstonYu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
fatal error C1061: 编译器限制 : 块嵌套太深
VisualStudio开发过程中碰到C1061报错,查了MSDN,文档说明如下从说明中我们明白这是由于我们的代码块嵌套太深,超过了编译器的限制。但我理解为应该是同一个域内块的数量太多,超过了编译器限制。示例代码如下:void Demo1(){ for( int i = 0; i < 10; ++i ) { cout << i << " "; } cout <原创 2016-12-25 00:44:10 · 7921 阅读 · 0 评论 -
代码中写入SVN版本信息
在编译前将SVN版本信息写入代码中,就可以将SVN版本信息编译到程序中。 subwcrev命令行可以用来生成版本信息,用法如下:SubWCRevWorkingCopyPath [SrcVersionFile DstVersionFile]SubWCRev SVN路径 [源模板文件 目标生成文件]源模板文件定义如下: 生成的目标文件如下:原创 2017-01-07 03:32:17 · 1131 阅读 · 0 评论 -
单循环赛贝格尔编排法实现
单循环赛,是指所有参赛队伍都需跟其他队伍比赛一次,根据比赛得分,胜负场次来排列名次。比赛队伍为单数时,轮数等于队伍数,为双数时,轮数等于队伍数减一。如5支队伍需比赛5轮,6支队伍需比赛5轮。首先介绍下逆时针轮转法。将队伍用阿拉伯数字从1开始编号,编排时将参赛队伍平均分成左右两排,左边从1开始自上向下排,右边按号数自下向上排,形成一个U型结构。如果队伍数为奇数,则在最后加一个“0”,凑成偶数。与原创 2017-03-14 10:45:23 · 21279 阅读 · 1 评论 -
Dota游戏匹配的所有组合
在Dota游戏中有一种匹配玩法,任意5人以下玩家组队,加入匹配系统,由系统组合出5人 vs 5人的组合进行游戏,比如2人+3人 vs 1人+4人。抽象出这个问题,就变成两边各有m个玩家,最多允许n个人组队(n void TestLadderRule(){#define OUTPUT_INFO printf("input max camp amount and max team a原创 2017-03-15 21:36:49 · 619 阅读 · 0 评论 -
基于Jenkins-2.46.3进行持续集成
1. 持续集成概述持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。百度百科:http://baike.baidu.com/item/%E6原创 2017-06-14 00:49:35 · 2483 阅读 · 0 评论 -
C++优化之使用emplace
在C++开发过程中,我们经常会用STL的各种容器,比如vector,map,set等,这些容器极大的方便了我们的开发。在使用这些容器的过程中,我们会大量用到的操作就是插入操作,比如vector的push_back,map的insert,set的insert。这些插入操作会涉及到两次构造,首先是对象的初始化构造,接着在插入的时候会复制一次,会触发拷贝构造。但是很多时候我们并不需要两次构造带来效率的浪原创 2017-07-21 08:40:07 · 43443 阅读 · 7 评论 -
动态更新全局数据
想象这样一种场景,有一份全局数据在启动的时候加载,多线程并发访问这份全局数据,那么在运行过程中如何动态更新这份全局数据?前面说到的问题,究根结底在于读写操作是并发的,不可避免的会出现冲突。例如有一张物品价格表,多个线程并发查询这张表获取物品价格,另外一个线程想更新物品价格。这种场景,我们可以抽象为单生产者-多消费者的问题。通常的做法,就是直接重启程序一了百了,但是如果重启的原创 2017-09-22 11:27:38 · 1232 阅读 · 0 评论 -
Windows下C++打印堆栈
搜索了下在Windows下C++打印堆栈的相关资料,发现很多都是类似,且方法比较复杂,因此自己封装了一个接口。主要用到了CaptureStackBackTrace,SymFromAddr,SymGetLineFromAddr64这三个接口。CaptureStackBackTrace用于获取当前堆栈,SymFromAddr用于获取符号信息,SymGetLineFromAddr64用于获取文件和行号信...原创 2018-05-20 15:19:43 · 8815 阅读 · 1 评论 -
Windows下C++将Git版本信息保存到代码中
我搜了下网页,已经有类似的文章,主要是通过shell命令将git版本信息写入到模板文件中来实现这个目的。但我还是写这篇文章的目的在于1. 自己实现的过程,通过写文章的方式可以加深印象。2. 因为是在windows平台下开发,所以这里用batch脚本实现。3. 在Windows下开发的话,可能有朋友需要在exe的详细信息里也能看到版本信息,这里也整合了这个功能。4. 类似的文章只截图...原创 2018-08-18 17:57:24 · 1392 阅读 · 0 评论