Sign in Join
Wiki copytemporary

Revision 1 of 2, by WikiArchive on 11-4-2026. The page as it is now.

Compiler Mode/zh CN

FPC 旨在�为商业 Pascal 编译器的(部分)自由开�替代�。 为了实现这一目标,引入了一个编译器开关�确定“编译器兼容模��。

��模�都��地�用或�用�些语法�求或其他语言结构。 其中一些�以通过所谓的“模�开关��独�用或�用,详�下文。

modes 模�

编译器兼容模��以在�代�中通过全局编译器指令{$mode}指定,或者通过命令行或fpc.cfg(5)�数-M指定。

以下是识别的��编译器兼容模�:

pascal
这是原始的 FPC 模�。从 FPC 3.x 开始,如果�代�或命令行没有明确指定编译器兼容模�,这将是“默认模��。
pascal
此模�为 `FPC` 模�添加了�外功能,包括但��于 [[Class|类]]�[[Interface|接�]] 和 [[Exceptions|异常]]。
pascal
这是 Turbo Pascal 兼容模�。它试图与 Borland TP 7.0 兼容,例如通过�用函数�载。
pascal
这是 Delphi 兼容模�。
pascal
与 `{$mode Delphi}` 类似,但默认 `string` 类型是 `unicodeString`。
pascal
Mac Pascal 兼容模�。
pascal
GNU Pascal 兼容模�。
pascal
符� ISO 7185 标准的兼容模�。
pascal
这是扩展 Pascal 模�。它尽�能符� ISO 10206 标准。

此外,特殊模� default 会��任何指定的编译器兼容模�。

由于编译器兼容模�的指定��地施加了严格的�化,并且�能�味�包�其他模�,因此必须在其他任何内容之�指定这些指令。

模�开关 mode switch

自 FPC 2.3.1 起,全局编译器指令 {$modeSwitch} �许在选择模��选择性地�用或�用�些特性。

模�开关必须出现在任何模�选择之�,�则模�开关将被覆盖。

pascal
// 尽管选择了 FPC 模�,但在将过程��赋值时�略 @ 地��算符
    {$mode FPC}
    {$modeSwitch classicProcVars+} // 在 FPC 模�下,为过程��赋值时�略 @ 地��算符

�请�阅


From the Free Pascal wiki, page "Compiler Mode/zh CN", as the Internet Archive kept it on 2025-01-18. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.