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