我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:刘伯温论坛 > 分别编译 >

vs2005vs200810编译同一个c语言项目生成的dll文件为什么不一样大

归档日期:08-06       文本归类:分别编译      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  不同的编译器用的是可能是不同的优化方案(同一个编译器不同的设置也会产生不同的结果,比如DeBug和Release)

  优化方案取决于编译器开发者的水平.发行编译器时的主流CPU和编译器将要运行的系统平台等因素,

  早期的编译器可能编译成类似这样的结果(这里用结果一词而不用汇编语言,汇编指令,汇编代码之类的词是因为汇编=!机器指令)

  类似的情况还有很多,因为这个回答是我一个字一个字打出来的,不是在哪个地方Copy的,指所以就不一一列举了,总之:

  这些小的差别积少成多,就影响了文件的大小!更多追问追答追问非常感谢你的回答,我还想问一下,同一个项目,把后缀名从c变为cpp后,vs2008生成的dll文件由380K变为383K,而vs2005和vs2010的都没变。

  3.为什么2008生成的dll那么大?追答我没用那么多版本,不过C和C++用的应该是不同的编译器(这里说的编译器是一个统称,包括了预编译.宏展开.编译.连接等等,在VS中是感觉不到的,但是要想深入了解,就要分开研究),产生不用的结果是很正常的,如果你确定你对所有版本的设置完全相同:

  2.偶然(你可以把大小精确到B,看一下没否还一样)这个是我猜的

  3.过度版本(比如Win2000要四张光盘,而XP和2003 Server只要一张CD稳定性却更好)追问可以精确到字节,大小和占用字节完全一样。追答你的问题真多,要是真的很想知道就从汇编语言.编译源理学起吧.

  你的源码有多少行,有多高的编程技巧?如果是很简单的源码,编译后就很可能一样大,之后用了同样的LINK,一样大是很正常的

本文链接:http://saltstudios.net/fenbiebianyi/728.html