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