问题描述
- VS 2013的静态库编译,为什么release比debug版本还大?
-
如题,很奇怪,包括从git下载了开源的项目,里面默认建好的项目也是如此,release比debug的还大?咋回事?
解决方案
一般来说我们总是觉得debug版要大一些,因为它有调试符号。但是也不一定如此,release版可能因为代码优化的关系,产生多个代码路径(比如说,同样的代码,编译器可能产生3份,一份基础版本,一份对intel优化,一份对amd优化,运行的时候选择不同的路径)
或者,对一些函数内联展开,这样也会造成代码变大。
解决方案二:
理论上Release要比Debug小,因为Debug中含有很多调试信息,Release大,要对比一下两个工程属性设置,是不是link了一些不同的库,或编译选项等导致文件反而大了
解决方案三:
release版本的是不是静态编译的?
解决方案四:
vs中debug和release版本的同时编译方法
Debug 版本 vs Release版本
Debug 版本 vs Release版本
----------------------
时间: 2024-08-29 05:28:41