为什么我用vc编辑的文件体积大
1. C++编译后的文件为什么体积特大
正常,在编写小的短的程序C没有汇编有优势,一个程序很简单的程序用TC编译成30K正常
你可以这样理解
编译 就跟模板似的,有固定的开头结尾,中间是你的程序编译的代码,开头结尾最简单也要几K,所以再加上你的程序不可能很短
你是用的TC 而不是用的VC++ 没有动态库与静态库的问题,
但是如果改变些TC编译选项可能对编译结果大小有影响
2. 为什么VC++生成的程序要比VB生成的要大得多
不是的
是因为编译器的问题
由于高级语言都有什么函数库
而这些高级语言的代码翻译成汇编就会产生好多垃圾代码
所以文件比较大 有的编译器 会产生比较小 就这原因
最高效的就是汇编语言了
VC是微软的产品 生成出来的程序这么大 肯定有它的原因
而TC之类的编译器 生成的程序比VC小好多
象C 语言 是静态连接库 生成的文件肯定会大点
假如
我们的程序只用到
printf();这函数 它需要包含头文件<stdio.h>
编译器会把整个stdio.h文件都包含到程序代码中
这就是程序大的原因之一
第二就是编译器的问题
3. 为什么VC++开发的DLL文件这么大
生成dll时,选择动态链接生成,会减少dll体积,但用户电脑没有dll的依赖库,就无法运行。静态链接可以让dll默认打包依赖库,但会增加体积。
MFC的dll比Win32的要大,必要时可以用win32工程,制作dll。
4. 如何缩小vc编译的文件体积
如果你是指编译后的完整工程(包括中间文件等),那么不推荐缩小,也没办法很好的缩小。
如果你是指编译后,最终完成的EXE,那么太多办法来缩小。
比如:
编译模式中,优化模式Optimizations选择为Minimize Size
编译选择Release模式而不是Debug模式,去掉EXE中的调试信息
对MFC和其它链接库选择动态编译,使用DLL而不是LIB,可以极大降低EXE的文件大小
资源文件优化,或者将资源文件做成外置资源,那么EXE的文件大小也可以大幅度压缩
完成编译后,对exe文件进行打包加壳,可以降低大概30~40%的文件大小
5. 为什么VC++生成的DLL文件那么大,怎样才能变小
1.debug版带有调试信息,所以很大,如果是release版会小很多。
2.项目属性,如果是静态连接运行时库的就比较大,如果是动态连接运行时库的(在共享 DLL 中使用 MFC)就比较小
3.WIN32 dll比较小,且使用不同的运行时库的化,生成的dll文件大小也有差别。(工程属性-》C/C++-》代码生成-》运行时库)。使用不同的运行时库,有微软的、STD的有单线程多线程。
6. vs2010 生成的项目文件为什么这么大
使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量,可惜毕竟硬盘还没有廉价到免费的地步。
那么,该怎么解决呢?其实可以关闭它。方法:
Tools->Options->Text Editor->C/C++->Advanced->Disable Database,设置为True
但是这样的办法会产生另外的一些问题,可能会导致其他的一些功能不能使用。例外一种解决方法是:
Tools->Options->Text Editor->C/C++->Advanced,在 Fallback Location 的属性组中,将"Always Use Fallback Location"设置为 true,将"Do Not Warn If Fallback Location Used" 设置为 true ,然后删除解决方案目录下的 sdf 文件和 ipch 目录,再次打开解决方案,发现这些烦人的东西已经不见了。
那么那些文件放置到那里了呢?看 "Fallback Location" 属性说明:这是存储浏览信息数据库和 IntelliSense 文件的第二个位置,如果不指定则放置到临时目录中;到临时目录一看,里面有一个 VC++ 的目录,都在那个目录里面呢。
可以在 "Fallback Location" 属性中,设置一个固定的路径来存储这些文件,比如D:\VS2010Temp,这样也比较好管理这些庞大的臃肿的文件,可以定期清理掉它们,释放出硬盘空间!
7. 我用vc6.0 生成的文件太大,咋办
用vs建的工程动则上百m,主要都是些工程文件,代码也才几百k
8. 为什么编译出的程序体积那么大
那是因为用Delphi编写的图形界面程序必须包含VCL库,否则无法在未安装Delphi运行时间库的机子上运行,静态链接的话会将程序用到的VCL组件部分都链接到可执行文件中去,所以文件体积比较大,如果编译是选择Build with Runtime packages,但是系统里必须已安装Delphi运行时间库。
9. 为何用VC6生成的exe文件体积很大和VB6相比。
你那是Debug版,改成Release版就小多了!!!