编译的程序为什么有大小
⑴ 为什么用不同编译器编译出来的程序大小差别这么大
你所提问的问题,在Keil自带的文档《Cx51编译器用户手册》中都有详细的介绍。建议你好好阅读一下这份手册,将会对编译过程、编译原理有深入的了解。
⑵ 为什么编译出的程序体积那么大
那是因为用Delphi编写的图形界面程序必须包含VCL库,否则无法在未安装Delphi运行时间库的机子上运行,静态链接的话会将程序用到的VCL组件部分都链接到可执行文件中去,所以文件体积比较大,如果编译是选择Build with Runtime packages,但是系统里必须已安装Delphi运行时间库。
⑶ 为什么我的devc++编译任何简单程序文件所占内存的大小都一样
1KB=1024字节,你打的代码都是小于1024字节,这最小只能显示KB单位,所以小于1kb的代码全部显示1kb
⑷ 为什么我用DevC++编译的helloworld程序exe文件为16kB,而用visualC++6.0编译,大小却高达240kB
很正常,每种编译器对代码的处理、优化的算法都不相同。有的代码紧凑,有的速度快,等等。另外,有很多编译器有各种开关设置(或者以宏的方式设置),不同的设置生成的代码大小也不一样,比如有的包含了调试所用的信息,自然也会大些。
不过,大小差了这么多,可能有两种情况(因为我是用别的语言的,你这两个编译器我还不是很熟悉,只能猜测):一是前者是不是DOS下的,后者是不是WINDOWS下的(WINDOWS下运行的程序更复杂)?二是如前所说,后者是不是包含了调试信息?查一下编译器的开关设置。
⑸ 易语言编写的程序编译后就是一句代码 exe文件也有五百多k 为什么
是因为编译好的EXE里面有运行库呗。至于VB VC编译的很小 是因为他们的运行库系统已经带了,就跟易语言使用普通编译出的文件也很小类似。 如果你想要让易语言编译的文件缩小就用黑月,可以让易语言编译的程序缩小到几十K。
记得采纳啊
⑹ C++编译后的文件为什么体积特大
正常,在编写小的短的程序C没有汇编有优势,一个程序很简单的程序用TC编译成30K正常
你可以这样理解
编译 就跟模板似的,有固定的开头结尾,中间是你的程序编译的代码,开头结尾最简单也要几K,所以再加上你的程序不可能很短
你是用的TC 而不是用的VC++ 没有动态库与静态库的问题,
但是如果改变些TC编译选项可能对编译结果大小有影响
⑺ C++程序编译后为什么这么大
程序要执行当然不是只靠你写的那两行代码,还需要好多库,即使是很简单的程序,你在VC++下按一下ALT+F7,选中Link就能看到了。编译的时候这些库也被包含到可执行文件当中,因此可执行文件较大。
Debug编译后带有源文件信息,因此可以调试,单步执行,而Release没有这些信息,因此不能调试,但执行效率更高。
⑻ 程序编译后的exe大小和什么有关比如定义的变量的数量,数组的长度,递归的深度、代码量
跟变量的数量,数组的长度,递归的深度没关系!
大小主要取决于你的代码量(包括你的头文件大小与数量),还有编译参数(debug出来的比较大,release出来的比较小)
变量的数量,数组的长度,递归的深度会影响运行时占用内存的大小。跟exe本身的大小没关系。
⑼ VC编译出来的程序为什么那么大
过度优化可能最终导致程序无法运行~~~
没有必要啦,VC编译会嵌入很多自己的东西,也包括一些对程序的优化~~
如果只是想要写出小的程序,那就用asm吧
⑽ 为什么编译生成同样一个简单的控制台程序,微软编译出来的比GCC的小那么多
没这回事。
GCC不能编译Windows程序,而微软发布的编译器也编译不了Linux程序,它们不可能编译出同一个程序,最多是编译出一个程序在这两个平台上的移植版(就是两个不同的程序了)。这时候要看程序自身是调用的Windows功能多还是Linux功能多,编译出来的可执行程序也是可大可小,没有一定的大小关系。
腾讯QQ的Windows版有几十兆,而它的Linux版不到5兆……
控制台是微软VS里的说法,终端是Linux下的说法,这样的比较,摆明了要耍赖啊。