Solaris(64 位)开发者指南

检查直接使用 long 类型是否仍有意义

由于类型 long 在 ILP32 模型中为 32 位,在 LP64 模型中为 64 位,因此可能会出现以前定义为 long 类型的数据既不恰当又不必要的情况。在这种情况下,请尽可能使用可移植性更强的派生类型。

与此相关的是,由于上述原因,许多派生类型在 LP64 数据类型模型中可能已更改。例如,pid_t 在 32 位环境中仍为 long 类型,但是在 64 位环境中,pid_t 则为 int 类型。有关针对 LP64 编译环境修改的派生类型的列表,请参见附录 A,派生类型更改