Solaris(64 位)开发者指南

互操作性问题

下面列出了一些互操作性问题,关于要求使应用程序对于 64 位安全,或者对应用程序进行更改,使其与 32 位和 64 位应用程序均能够互操作:

内核内存读取器

由于内核是在内部使用 64 位数据结构的 LP64 对象,因此,使用 libkvm/dev/mem/dev/kmem 的现有 32 位应用程序将无法正常工作,必须将其转换为 64 位程序。

/proc 限制

使用 /proc 的 32 位程序可以查看 32 位进程,但是无法识别 64 位进程的所有属性。描述该进程的现有接口和数据结构不够大,因此无法包含所涉及的 64 位值。此类程序需要重新编译为 64 位程序,以便使其可同时用于 32 位进程和 64 位进程。对于调试器来说,这是一个最为典型的问题。

64 位库

32 位应用程序必须链接到 32 位库,64 位应用程序必须链接到 64 位库。除已过时的库以外,所有系统库均提供了 32 位和 64 位两种版本。