【问题标题】:Why does line count change so much from D2007 to D2010?为什么从 D2007 到 D2010 的行数变化如此之大?
【发布时间】:2011-01-12 09:47:31
【问题描述】:

我们的应用程序是一个庞大的项目,包含 3000 多个单元,大约有 350 万行代码。

...或者至少是在我们在 D2007 下编译它的时候。我们最近更新到 D2010,现在如果我们运行完整版本,行数最终会停止在 490 万左右。相同的 DPR,相同的代码库,相同的一切,但编译器在构建周期中运行的代码行数增加了大约 40%,这里没有人知道为什么。

为了让事情更混乱,在构建之后,我们可以在 IDE 中转到项目 -> 信息,它会报告 380 万行。在 D2007 中,编译器对话框和 Project -> Information 对话框报告了相同的数字。

有人知道这里发生了什么吗?

【问题讨论】:

  • 你确定编译器路径是一样的吗?有没有可能之前没有编译的代码现在正在编译?
  • @Nick,没有数字来自相同的编译。一个是在编译成功后按下 OK 之前,第二个是立即检查 Project -> Information 选项。 2007 年的数字匹配,现在 2010 年的数字不匹配。哪个更准确?
  • @skamradt:我认为尼克指的是 D2007 和 D2010 行数之间的差异。
  • @Mason:我不确定这有多重要。如果 D2010 报告同一编译的不同数字,那么无论对 D2010 和 D2007 之间差异的解释如何,这显然是在某个地方出现了扭曲,
  • 添加到 Nick 的评论中,我将启动 procmon,将过滤器限制为 Delphi32 和文件,在两个环境中进行构建并区分输出以检查构建中是否使用了完全相同的文件。

标签: delphi delphi-2010 delphi-2007 line-count


【解决方案1】:

我想知道在编译器进度区域中确定行数的换行/回车处理是否由于 Unicode 内部机制而变得不知所措。

您是否尝试过在 D2009 中编译并查看它是否表现出相同的奇怪行为?

【讨论】:

    【解决方案2】:

    可能是因为内联更激进?

    【讨论】:

      【解决方案3】:

      D2010 不支持泛型吗?我认为一些库已被泛型取代,如果计算它正在使用的“虚拟”行,这可能会解释似乎被解析的额外行。

      【讨论】:

      • 泛型确实在幕后创造了额外的代码行。
      【解决方案4】:

      看起来这是一个错误。 Project | 下仍会报告正确的行号。信息。请参阅 Nick 对 similar question 的回答。

      【讨论】:

        猜你喜欢
        • 2011-02-09
        • 2022-01-13
        • 1970-01-01
        • 1970-01-01
        • 2019-09-13
        • 2021-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多