【问题标题】:Where should I set compiler options like {$STRINGCHECKS OFF}?我应该在哪里设置像 {$STRINGCHECKS OFF} 这样的编译器选项?
【发布时间】:2009-02-12 18:09:20
【问题描述】:

如果我将它放在 .dpr 或任何其他单位中,它会被全局考虑吗?

【问题讨论】:

    标签: delphi


    【解决方案1】:

    项目 -> 选项 -> Delphi 编译器 -> 代码生成,设置“字符串格式检查”关闭。

    【讨论】:

      【解决方案2】:

      我不这么认为。 IIRC 的规则是 dpr 或单元中的任何内容都是该文件的本地文件。如果您将其放入项目选项中(在条件下),那么它是全局的。许多作者将这些内容放入文本文件中,然后在每个单元的顶部执行 {$I MyConditionals.txt}。

      【讨论】:

        【解决方案3】:

        某些编译器指令的范围与其他指令不同。有些影响整个应用程序,有些只影响它们所在的单元,有些只影响它们所在的代码。例如,

        {$WARNINGS OFF}  // Turn off warning messages from compiler
        procedure SomeProcedureThatHasAnAsmBlock;
        begin
          asm
            // Some assembler code that generates warnings, but
            // that you know is actually right. These warnings
            // are usually like "expression always evaluates to false"
            // or something like that.
          end;
        end;
        {$WARNINGS ON}   // Turn warnings back on for other code
        

        由于 {$STRINGCHECKS} 没有记录(至少在我拥有的 D2009 帮助文件版本中),因此很难知道它的范围是什么。 CodeGear 的 Barry Kelly 有时会在这里,他负责编译器本身。也许他会路过并能提供帮助。

        【讨论】:

          【解决方案4】:

          IIRC 您可以在“项目选项”窗口中全局关闭它。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-10-23
            • 2016-05-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-05-12
            相关资源
            最近更新 更多