pascal之Free Pascal 本身是一种编程语言吗或者,只是一个支持 Pascal 开发的编译器

mq0036 阅读:31 2024-02-25 17:59:16 评论:0

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

4年前关闭。




Improve this question




当我搜索 Free Pascal 时,我感到非常困惑。 freepascal.org 说它是一个编译器,用于在各种体系结构的系统上编译 Pascal 语言代码。但是,我也发现很少有在线发布的寻找 Free Pascal 程序员的工作。请对此有所了解。提前致谢!

请您参考如下方法:

Free Pascal 是一个支持多种方言的编译器。

像您这样的许多混淆来自于将 FPC/Lazarus 呈现为 Dropin Delphi 替代品的过于简单化的文章。 Lazarus/fpc 的整个开发历史与 TP 和 Delphi 都不同。

大多数方言模式是现有的方言,具有较小的扩展(通常是所有方言都支持的功能),而一些方言(如 Objective Pascal)完全是 Free Pascal 的发明。

部分方言:

  • {$模式 TP } - 涡轮帕斯卡方言
  • {$模式 fpc } - 默认 模式。 Turbo Pascal 方言清除了剂量和 16 位元(与 TP 几乎没有区别)
  • {$模式德尔福 } - Delphi 方言 + 兼容扩展
  • {$模式 DelphiUnicode } - 将字符串更改为 unicodestring 的 Delphi 方言,如 D2009(虽然不完整的运行时支持)
  • {$模式 objfpc } - Delphi 方言的免费 Pascal 版本。 (不兼容的扩展)
  • {$模式麦克帕斯卡 } - 基于 Apple 的 pascal,主要是 Codewarrior 派生的
  • {$模式 ISO } - 进行中的 ISO-7185 帕斯卡模式。
  • {$模式开关 objective-c 1 } 和 {$modeswitch objective-c 2 }, 开启 Objective C 对象模型以便于 COCOA 接口(interface),区别与 Objective C 1.x 和 2.x 语言/运行时相同。这是客观帕斯卡

  • 主要缺少的是 ISO10206 (1990),第二个 Pascal 语言标准(大多数主要供应商都忽略了该标准)

    方言模式是一个单位决定 ,可以在一个程序中使用多种方言。模式 objfpc 是 Lazarus 的默认模式,因此是当今最常用的方言。

    模式 objfpc 中不兼容扩展的一个典型示例是需要 @ 来进行过程(或方法)变量赋值。对于某些 proctype 是函数的返回值的情况,这是一种消除歧义。

    一些 $mode objfpc 的差异已经在后来的 Delphi 版本中实现(如 {$pointermath on},后者在 $mode objfpc 中是默认的)。 $Mode objfpc 在 C++ 之后也有一个非常早期(2007 年初)的泛型模型实现


    标签:编程语言
    声明

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    关注我们

    一个IT知识分享的公众号