Solaris(64 位)开发者指南

32 位应用程序和 64 位应用程序之间的兼容性

以下几节将讨论 32 位应用程序和 64 位应用程序之间不同级别的兼容性。

应用程序二进制对象

现有的 32 位应用程序可以在 32 位或 64 位操作环境中运行,仅有那些使用 libkvm/dev/mem/dev/kmem/proc 的应用程序例外。有关更多信息,请参见突破 4 GB 限制

应用程序源代码

对于 32 位应用程序保留了源代码级别的兼容性。对于 64 位应用程序,进行的主要更改与应用编程接口中所使用的派生类型有关。正确使用派生类型和接口的应用程序,其源代码对于 32 位是兼容的,并且更便于转换到 64 位。

设备驱动程序

由于 32 位设备驱动程序无法用于 64 位操作系统中,因此这些驱动程序必须重新编译为 64 位对象。此外,64 位驱动程序还需要同时支持 32 位应用程序和 64 位应用程序。64 位操作环境附带的所有驱动程序均可同时支持 32 位应用程序和 64 位应用程序。但是,DDI(设备驱动程序接口)支持的基础驱动程序模型和接口没有发生变化。主要工作是清理要在 LP64 环境中进行更正的代码。有关更多信息,请参见《编写设备驱动程序》手册。