Delphi 为什么从D2007到D2010的行数变化如此之大?

Delphi 为什么从D2007到D2010的行数变化如此之大?,delphi,delphi-2010,delphi-2007,line-count,Delphi,Delphi 2010,Delphi 2007,Line Count,我们工作中的应用程序是一个巨大的项目,有3000多个单元,大约350万行代码 …至少在我们根据D2007进行编译时是这样。我们最近更新到D2010,现在如果我们运行完整的构建,行数最终会停止在490万左右。相同的DPR,相同的代码库,相同的一切,但是编译器在构建周期中不知何故运行了大约40%以上的代码行,这里没有人知道为什么 只是为了让事情变得更混乱,在构建之后,我们可以在IDE中转到Project->Information,它会报告380万行。在D2007中,编译器对话框和项目->信息对话框报

我们工作中的应用程序是一个巨大的项目,有3000多个单元,大约350万行代码

…至少在我们根据D2007进行编译时是这样。我们最近更新到D2010,现在如果我们运行完整的构建,行数最终会停止在490万左右。相同的DPR,相同的代码库,相同的一切,但是编译器在构建周期中不知何故运行了大约40%以上的代码行,这里没有人知道为什么

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


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

我想知道,由于Unicode内部代码,在编译器进程区域中确定行数的换行符/回车符的处理是否变得有些混乱


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

可能是因为它对内联更具攻击性吗?

D2010不支持泛型吗?我认为一些lib已经被泛型所取代,如果它统计它正在使用的“虚拟”行,那么可能会导致额外的行被解析。

看起来这是一个bug。正确的行号仍在项目信息下报告。查看Nick对a的回答。

您确定编译器路径相同吗?有没有可能以前没有编译过的代码现在正在编译?@Nick,没有,这些数字来自同一个编译。一个是在成功编译后立即按OK之前,另一个是立即选中Project->Information选项。2007年的数字是一致的,而2010年的数字则不一致。哪个更准确?@skamradt:我想Nick指的是D2007和D2010行计数之间的差异。@Mason:我不确定这有多重要。如果D2010为同一个编译报告了不同的数字,那么很明显,无论对D2010和D2007之间的差异有什么解释,我都会启动procmon,将过滤器限制为Delphi32&Files,在两种环境中进行构建,并区分输出以检查构建中是否使用了完全相同的文件。泛型确实会在幕后创建额外的代码行。