delphi 编译器的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 hkcbz
  • 开始时间 开始时间
H

hkcbz

Unregistered / Unconfirmed
GUEST, unregistred user!
我想知道,假如我的项目中引用了很多单元,但有的单元中我只用到了其中的一个函数,编译时是不是这个单元中的所有函数都会被编译进EXE中呀,还是DELPHI只编译用到的函数
 
应该是编译整个单元,如果你想要可执行文件尽量的小的话,可以使用动态链接库代替静态编译,这样当需要的时候才把函数调入内存中。
 
不会的,编译的时候会全部编译,但是连接的时候,只连接用到的函数,没有用到的不会连接进去的。
 
这个你可以自已测一下:
方法:
多引用一个两个单元,看看编译后的可执行文件有没有增大.

应该是可执行文件不会增大,DELPHI编译采用的smart技术
 
我试了一个楼上的方法,发现多引用单元后,EXE大小没有变,但是不是编译器真的只编译用到的函数到EXE中呢
不知 Johnny_du abszo 说的是否有道理呢
 
只编译连接用到的函数,否则,delphi设计上就有问题了。当然这些是确定代码的情况,有一些代码不确定的时候,比如在使用后期绑定的时候,恐怕就要把可能用到的全都编译进去了
 
多人接受答案了。
 
后退
顶部