比如我编译一个程序的时候发现有的单元不需要引用,就在uses部分将它们去掉,可是去掉以后生成的程序为什么还是和原来程序的大小是一样的?对于dialogs这样的单元,应该是至少比原来的程序小几十K吧!请问这是怎么回事,怎么解决?!

解决方案 »

  1.   

    Delphi优化过了。你没用到的部分他不会编译进去的。你Uses他也不编译
      

  2.   

    to miky(miky):
    我是太明白你的意思,能说的详细点吗?!
      

  3.   

    Delphi优化,如果你USE了一个很大的单元,但是只用了其中的一个函数,DELPHI只编译该函数的代码。也就是说,去掉USE列表中的单元,并不能改变程序的大小。
      

  4.   

    想不到delphi是如此的聪明,今天我更加坚定了我学delphi的决心了
      

  5.   

    也就是说如果delphi编译出的程序里面不包括任何没有用的代码了?!是这样吗?!
    我不需要再优化了是吗?!
      

  6.   

    基本上是这样的,否则borland的编译器怎么称得上世界第一?还有空函数和过程也不会被编译
    比如有某个类的某个方法要留给后代来改写,vcl里面的代码就会出现
    function xx():boolean
    begin
    end;
    虽然有这个方法,但是也不会被编译器编译