VC生成静态库release版比debug版库文件尺寸更大的原因
2010-10-18 16:25
281 查看
MSDN社区上的帖子:《Static lib release build is larger than debug build??》
StackOverflow上的讨论:《Release LIB is huge compared to debug》
得出的结论是,此问题是由VS的Build选项中Optimization项下的Whole Program Opeimization选项不同设置引起:
Debug版的此选项缺省设成No,而Release版的此选项缺省设成Enable link-time code generation (/GL)
由于静态库并不进行链接,而全局优化要等到链接时,所以release版产生的库文件就要比debug版的大上不少了。
另,StackOverflow真的非常不错。神奇的Joel。
StackOverflow上的讨论:《Release LIB is huge compared to debug》
得出的结论是,此问题是由VS的Build选项中Optimization项下的Whole Program Opeimization选项不同设置引起:
Debug版的此选项缺省设成No,而Release版的此选项缺省设成Enable link-time code generation (/GL)
由于静态库并不进行链接,而全局优化要等到链接时,所以release版产生的库文件就要比debug版的大上不少了。
另,StackOverflow真的非常不错。神奇的Joel。
相关文章推荐
- VC生成静态库release版比debug版库文件尺寸更大的原因
- VC生成静态库release版比debug版库文件尺寸更大的原因
- 程序在Debug、Release下运行及单独运行Debug下的exe文件时没有问题;可是单独运行Release所生成的exe文件时,点击某一个按钮时,程序崩溃
- VC中为什么Debug或者Release中的.exe文件无法使用
- vc release错误追踪位置,程序不弹错直接退出,后生成日志文件。
- web.confgi转换,web发布时发布配置(debug/release)生成不同的配置文件
- VC下Release版出错,Debug版的不出错原因
- 在VC中Debug下是运行结果正确的,但是在Release下却有错,总算找到原因
- vc++同时生成 Release版和Debug版的方法
- 如何让一个动态链接库文件debug和release编译的时候生成不同的文件名
- 在VC中Debug下是运行结果正确的,但是在Release下却有错,总算找到原因
- mfc对话框程序在ide编译可运行,但编译完毕的debug和release版本不能运行。。后来发现原因是:用到的sqlite数据库文件没在对应目录下,而代码中没有try..catch..
- VC 6.0中怎样设置才能生成Debug或Release版本的程序?
- 在Release与Debug两种模式下生成C#窗体应用程序,在读写文件时的相对路径区别
- VC 6.0中怎样设置才能生成Debug或Release版本的程序?
- (转)如何让一个动态链接库文件debug和release编译的时候生成不同的文件名
- 让一个动态链接库文件debug和release编译的时候生成不同的文件名的方法
- vc++生成的Debug,cpp,html,ncb,opt,dsp,dsw文件是干什么的,有什么区别?
- VS编译静态库 .lib 其中Release 版本比Debug版本要大好多原因
- vc++同时生成 Release版和Debug版的方法