摘要: 关于Padding,请看下面的代码:[代码]我们可以assert:[代码]这里的padding大小我们基本都可以预测。由于c++模板的代码生成规则,下面的代码可能不会注意到[代码]这时sizeof(B2)以及B2::b的偏移地址是多少?struct BT第一次被实例化是在struct B内,且此时的pack为1.于是该类的alienment也被当作1来处理到后面的B2内,虽然pack已经恢复(为4...
阅读全文
摘要: 首先感谢xq; lj定位问题! 问题出在我签入的来自卡马克的求平方根函数代码。[代码]红色部分代码在gcc开启-fstrict-aliasing选项后将得到错误的代码。由于使用了type-punned pointer将打破strict-aliasing规则。由于-fstrict-aliasing选项在-O2, -O3, -Os等优化模式下都将开启(目前dev不带优化,main带-O3所以该问题只在...
阅读全文
摘要: 1:代码不一致(编译)2:内存不够用了(看看那个进程占了这么多)3:符号文件被其他进程锁住了(一般是多个vs造成的,把VS关掉,检查是否有devenv.exe/mspdbsrv.exe死进程)by 教练
阅读全文
摘要: 使用VA后,因为要在一台机器上调试客户端和服务器,之前一直卡到不行.后面找到方法,关闭vs2005自带的提示功能,这样速度会快不少,具体方法很简单,把..\Miscrosoft Visual Studio 8\VC\Vcpackages\feacp.dll 删除或者改名即可by 万hb
阅读全文
摘要: 仿佛.ilk文件超过了200兆就会造成增量链接失败,链接时提示如下:LINK: warning LNK4076:无效的增量状态文件”xxx.ilk”;正在非增量链接尚不知道如何避免,临时处理方法是添加一个预生成事件,当增量链接文件大于200兆就先删除它再继续生成具体操作方法如下:选中出现该情况的项目,编辑它的属性配置属性->生成事件->预生成事件->命令行...
阅读全文
摘要: /LTCG, 链接时代码生成, 由于在链接时生成代码,可以全局地对所有obj进行优化. 一般用于release版的生成. 该选项与增量链接是冲突的.开启了链接时代码生成,即便在增量链接开启的情况下,仍然要进行完整链接.为了让Debug版本生成速度不变慢,请保持Debug版本不使用链接时代码生成选项.并且也不要依赖带有/LTCG选项生成的库
阅读全文