- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试在 Delphi XE2 中创建新包时,包 dpk 源文件中有一个新构造:IMPLICITBUILDING
那是做什么用的?
package Package1;
{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DEFINE DEBUG}
{$ENDIF IMPLICITBUILDING}
{$IMPLICITBUILD ON}
requires
rtl;
end.
最佳答案
另请参阅此讨论:Why does Delphi change Indy's dpk source file when I change project options和 this .
“出现在 $IFDEF IMPLICITBUILDING 之间的编译器指令和 $ENDIF 通常由编译器作为参数传递显式编译包。因为这些选项的变化基于配置(调试/发布)和目标平台(Win32、Win64、OSX32)在包中静态定义它们是有问题的项目来源。当在项目源中定义时,它们将始终覆盖编译器传递的选项。 $IFDEF 可以防止这些在显式编译期间使用的选项。
如果包是隐式编译的,这些选项将被使用,但除非您的项目保存在配置/目标中您想要编译的模式,您可能不会得到您期望的结果。
作为一般规则,最好禁用包上的隐式构建并通过项目组构建或通过项目显式编译它们依赖关系。如果您仅使用一个单一平台进行构建单一配置则隐式构建机制就足够了。
IMPLICITBUILDING 是由编译器在编译过程中定义的作为编译的一部分被隐式编译的包取决于它的东西。正如评论中所示,你应该不要试图自己定义这个值”
关于德尔福XE2 : What is the purpose of IMPLICITBUILDING directive found in package,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7427145/
当我尝试在 Delphi XE2 中创建新包时,包 dpk 源文件中有一个新构造:IMPLICITBUILDING 那是做什么用的? package Package1; {$R *.res} {$IF
我是一名优秀的程序员,十分优秀!