Delphi编译和构建有什么区别?
使用Delphi-6有两种选择:构建和编译.
我知道当我运行一个程序时,它只编译已经更改的文件,并为没有的文件使用DCU.当我单击构建显然它重建了DCU. 我一直在想的是,当我做一个程序发布(更改构建设置,条件变量等),我可以编译,还是我必须做一个完整的构建? 如果我不做全面的建设,会发生什么,有什么一致性吗? 解决方法
编译时,编译时?
当.pas源文件的日期戳记改变时,编译器只会自动重新编译单元(1,2). 在项目的其他状态更改(指令,调试或其他编译器设置等)中,编译器将不会自动重新编译.那就是当你需要强制一个构建. 当.inc或其他包含($I)文件(3))更改(3)时,还需要强制重建,因为它们的日期戳记未被选中. 因此,总而言之,除了单位.pas文件之外的任何内容,您都需要进行构建. 建筑有一些奇怪的情况.大部分的结果出现在“找不到单位xxx”错误 >一个是项目中单位的路径错误,或者在工作目录错误时使用相对路径. (见Delphi debug a wrong unit) (1)如果Delphi就像FPC一样,.dcu包含所有dcu的接口部分的CRC.这可以用来检查是否还需要重新编译.例如.由于文件系统操作(移动dcu的) (2)对于专家,也看看{$implicitbuild xx} (3)与德尔福相反,FPC确实重建了.inc的变化. FPC项目在内部大量使用.inc文件,这一变化已经在Delphi支持之前.因此,将“将”inc文件复制到任何目录中的软件包将无法使用FPC进行编译,因为它们的大小和CRC通常略有不同. Indy(10)是一个很好的例子. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |