我正在开发一个带有简约 system.pas /sysinit.pas 的 delphi 7 项目当我尝试在我的项目中使用记录时,我的编译器会出现此错误:
System unit out of date or corrupted: missing '@InitializeRecord'
由于我试图用纯帕斯卡/无 RTL 编程,有没有办法手动启用/调用记录的初始化?!
谢谢您的帮助。
Delphi 编译器依赖于一些“内在函数”,这些函数由生成的代码调用。
例如,当您在代码中定义 a 时,即使您不使用任何 RTL record
,Delphi 编译器也会生成对 的调用。InitializeRecord
这string
与动态数组处理相同。
因此,您将无法绕过和忽略这些函数,因为它们应该由编译器本身存在。
Delphi 并不意味着剥离低级 RTL 单元。在某些情况下,我已经这样做了:
FreePascal在剥离系统单元时要好得多。由于它甚至针对嵌入式系统,因此您可以选择剥离字符串支持、FPU 甚至整个堆进程。