由于类型 long
在 ILP32 模型中为 32 位,在 LP64 模型中为 64 位,因此可能会出现以前定义为 long
类型的数据既不恰当又不必要的情况。在这种情况下,请尽可能使用可移植性更强的派生类型。
与此相关的是,由于上述原因,许多派生类型在 LP64 数据类型模型中可能已更改。例如,pid_t
在 32 位环境中仍为 long
类型,但是在 64 位环境中,pid_t
则为 int
类型。有关针对 LP64 编译环境修改的派生类型的列表,请参见附录 A,派生类型更改。