前人写的程序,拿到源码后,重新编译一次,没有增加(减少)任何功能,但是发现编译后,可执行文件EXE变大了很多,以前只有500KB,现在发现有1.3MB,而且执行速度也没有原来快。不知道是什么样原因?

解决方案 »

  1.   

    1.前人是不是在工程里勾上了build with runtime  packages?
    2.也有可能是你装了D里安装了很多插件,并引用了此单元。具体你自己判断了
      

  2.   

    勾上build with runtime packages后,重新编译文件时,会报错。
      

  3.   

    估计是用另一个Delphi版本编译的
      

  4.   

    release模式?原先的exe用upx压缩过?
      

  5.   

    不是编译问题,是原来的exe是压缩过的
      

  6.   

    如aspack,就和使用RAR差不多,但出来的是EXE
    aspack压缩率好高,8M的软件可以压到1M,我试过
      

  7.   

    因为你的程序会报错,所以先确认原来的程序包所有控件是否都有(也就是程序包有没有很多的dll文件),如果有就勾上build with runtime packages编译,跟踪一下,会不会报错。
    aspack加壳的情况先不要管。
      

  8.   

    3种可能
    1.工程里是否选择了build with runtime packages?
    2.delphi版本不同,比如原来用的D6,现在你用的D2010
    3.原来编译出的exe经过了upx等工具压缩