1

我正在开发一个带有简约 system.pas /sysinit.pas 的 delphi 7 项目当我尝试在我的项目中使用记录时,我的编译器会出现此错误:

System unit out of date or corrupted: missing '@InitializeRecord'

由于我试图用纯帕斯卡/无 RTL 编程,有没有办法手动启用/调用记录的初始化?!

谢谢您的帮助。

4

1 回答 1

3

Delphi 编译器依赖于一些“内在函数”,这些函数由生成的代码调用。

例如,当您在代码中定义 a 时,即使您不使用任何 RTL record,Delphi 编译器也会生成对 的调用。InitializeRecordstring与动态数组处理相同。

因此,您将无法绕过和忽略这些函数,因为它们应该由编译器本身存在。

Delphi 并不意味着剥离低级 RTL 单元。在某些情况下,我已经这样做了:

FreePascal在剥离系统单元时要好得多。由于它甚至针对嵌入式系统,因此您可以选择剥离字符串支持、FPU 甚至整个堆进程。

于 2012-09-11T08:23:05.907 回答