为什么我用vc编译的文件体积大
‘壹’ 为什么编译出的程序体积那么大
那是因为用Delphi编写的图形界面程序必须包含VCL库,否则无法在未安装Delphi运行时间库的机子上运行,静态链接的话会将程序用到的VCL组件部分都链接到可执行文件中去,所以文件体积比较大,如果编译是选择Build with Runtime packages,但是系统里必须已安装Delphi运行时间库。
‘贰’ 我用vc6.0 生成的文件太大,咋办
这是因为包含了一些类库,3.21M也不算很大啊。
‘叁’ 为什么 C++ 编译出的可执行文件很大
那是因为你没有指定编译模式和链接方式,所以,默认使用c++的标准去生成文件,体积自然很大。
‘肆’ 如何缩小vc编译的文件体积
如果你是指编译后的完整工程(包括中间文件等),那么不推荐缩小,也没办法很好的缩小。
如果你是指编译后,最终完成的EXE,那么太多办法来缩小。
比如:
编译模式中,优化模式Optimizations选择为Minimize Size
编译选择Release模式而不是Debug模式,去掉EXE中的调试信息
对MFC和其它链接库选择动态编译,使用DLL而不是LIB,可以极大降低EXE的文件大小
资源文件优化,或者将资源文件做成外置资源,那么EXE的文件大小也可以大幅度压缩
完成编译后,对exe文件进行打包加壳,可以降低大概30~40%的文件大小
‘伍’ C++编译后的文件为什么体积特大
正常,在编写小的短的程序C没有汇编有优势,一个程序很简单的程序用TC编译成30K正常
你可以这样理解
编译 就跟模板似的,有固定的开头结尾,中间是你的程序编译的代码,开头结尾最简单也要几K,所以再加上你的程序不可能很短
你是用的TC 而不是用的VC++ 没有动态库与静态库的问题,
但是如果改变些TC编译选项可能对编译结果大小有影响
‘陆’ vc++编译的程序怎么那么大
你指的是控制台程序吗?
Debug版的exe比较大,你可以发布成Release版的,这样可以缩减到原来的1/2左右,VB的虽然30多K,但不能脱离开发环境运行,VC做的Release版的程序可以在所有Windows操作系统中运行
发布Release版的方法,详见我的博客:
http://lewvan.blog.e.cn/user3/lewvan/archives/2006/1602756.shtml
‘柒’ VC编译出来的程序为什么那么大
VC不是万能,你如果要最求最小代码自然要用汇编。
但是VC也绝不是垃圾代码生成器
公平的说,VC编译的代码质量还是可以的,当然你如果非要挑毛病那肯定能挑出来
‘捌’ C++程序编译后为什么这么大
程序要执行当然不是只靠你写的那两行代码,还需要好多库,即使是很简单的程序,你在VC++下按一下ALT+F7,选中Link就能看到了。编译的时候这些库也被包含到可执行文件当中,因此可执行文件较大。
Debug编译后带有源文件信息,因此可以调试,单步执行,而Release没有这些信息,因此不能调试,但执行效率更高。
‘玖’ 为什么VC++生成的DLL文件那么大,怎样才能变小
1.debug版带有调试信息,所以很大,如果是release版会小很多。
2.项目属性,如果是静态连接运行时库的就比较大,如果是动态连接运行时库的(在共享 DLL 中使用 MFC)就比较小
3.WIN32 dll比较小,且使用不同的运行时库的化,生成的dll文件大小也有差别。(工程属性-》C/C++-》代码生成-》运行时库)。使用不同的运行时库,有微软的、STD的有单线程多线程。