【发布时间】:2012-09-28 16:28:41
【问题描述】:
我不是 Pascal 新手,但直到现在我仍然不知道为什么 Delphi 和 Free Pascal 通常将参数和返回值声明为有符号整数,而我认为它们应该始终为正数。例如:
-
Pos()返回整数类型。有可能是负数吗? -
SetLength()将NewLength参数声明为整数类型。字符串的长度是否为负数? -
System.THandle声明为 Longint。句柄是否有负数?
在 Delphi 和 Free Pascal 中有许多类似的决定。这背后有什么考虑?
【问题讨论】:
-
FPC 的考虑很简单:与 Delphi 兼容。德尔福对 Pos 的考虑(通过 TurboPascal)可能渴望回到 1974 年的 Pascal 报告
-
Arioch:FPC 也通过 TP。在 FPC 开始致力于 Delphi 兼容性之前,这种东西早就决定了。
标签: delphi pascal freepascal