编译器可以接受和处理的行数/代码大小/等是否有(甚至是不现实的)限制?我在文档中找不到任何关于此的内容。
我们可以说仅处理一个文件的长度/大小的能力仅受硬件限制吗?
编译器可以接受和处理的行数/代码大小/等是否有(甚至是不现实的)限制?我在文档中找不到任何关于此的内容。
我们可以说仅处理一个文件的长度/大小的能力仅受硬件限制吗?
不,单个单元可以拥有的行数没有限制。
显然,因为 Delphi 是一个 32 位程序,所以在任何分配中都不能超过 2GB。
然而:
1 IDE 和编译速度
如果你在 Delphi 中打开一个单元,IDE 会解析这个单元,这会使 IDE 变慢。
将大型项目拆分为多个(大部分)独立单元并让编译器编译这些单元更有意义。
每个单元都会创建一个.DCU
文件,链接器可以使用该文件来组合最终的 exe。
如果一个单元与 dcu 匹配,那么 Delphi 将不会重新编译该单元,而只是将 dcu 文件传递给链接器。
这导致编译速度更快。
即使是一个单元中的单个编辑也会导致该单元的完全重新编译。
在您假设的巨大单位中,这将需要很长时间。
在您可能拥有的任何 SVN 系统上,它也轻得多。
2 编译器错误
事故和错误发生。有时编译器由于错误而无法识别其他正常的代码。
在您的百万以上行单元中,这会很复杂,如果您有较小的单元,则更容易调试。
我想编译器也更容易不使用较小的单元触发错误条件。
3 理智
较小的单位导致更容易维护项目。
如果您将共享功能关系的代码放在一个单元中,则逻辑变得更容易理解。
如果您有较小的单元,则在另一个项目中重用这些单元的代码会更容易。