使用以下核对表有助于您将代码转换为 64 位。
查看所有数据结构和接口,验证它们在 64 位环境中是否仍有效。
在代码中包含 <inttypes.h>,以提供 _ILP32 或 _LP64 定义以及多种基本派生类型。对于系统程序,包含 <sys/types.h>(或至少包含 <sys/isa_defs.h>),以获取 _ILP32 或 _LP64 定义。
将函数原型以及具有非局部作用域的外部声明移到头文件中,并将这些头文件包含在代码中。
使用 -m64 和 -errchk=longptr64 及 signext 选项运行 lint。分别检查每个警告。请注意,并非所有警告均需要更改代码。根据所进行的更改,在 32 位和 64 位模式下再次运行 lint。
除非提供的应用程序仅为 64 位,否则请将代码编译为 32 位和 64 位两种形式。
测试应用程序,方法是:在 32 位操作系统上执行 32 位版本,在 64 位操作系统上执行 64 位版本。也可以在 64 位操作系统上测试 32 位版本。