gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 07:02:04 25 4
gpt4 key购买 nike

关闭。这个问题是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 年初)的泛型模型实现

    关于pascal - Free Pascal 本身是一种编程语言吗?或者,只是一个支持 Pascal 开发的编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44848371/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com