Solaris(64 位)开发者指南

对 32 位和 64 位应用程序进行打包

以下几节将讨论对 32 位和 64 位应用程序进行打包时的注意事项。

库和程序的位置

SPARC。新库和新程序的位置遵循32 位和 64 位库中介绍的标准约定。32 位库仍然位于相同位置,而 64 位库则会放在常规缺省目录下与体系结构有关的特定目录中。特定于 32 位和 64 位的应用程序的位置对于用户应保持透明。

这意味着 32 位库应放在相同的库目录中,64 位库应放在相应的 lib 目录下的 sparcv9 子目录中。

如果程序要求使用特定于 32 位或 64 位环境的版本,则情况会稍有不同,此时,应将这些程序放在其通常所在目录的相应 sparcv7sparcv9 子目录中。

64 位库应放在相应的 lib 目录下的 amd64 子目录中。

如果程序要求使用特定于 32 位或 64 位环境的版本,则应将这些程序放在其通常所在目录的相应 i86amd64 子目录中。

请参见应用程序命名约定

打包原则

打包选项包括为 32 位和 64 位应用程序创建特定的软件包或者将 32 位和 64 位版本合并到一个软件包中。如果创建了单个软件包,则应当针对软件包的内容使用子目录命名约定,如本章中所述。

应用程序命名约定

库和程序的位置中所述,32 位和 64 位应用程序可以放在平台特定的相应子目录中,而不是为同一个应用程序的 32 位和 64 位版本指定特定的名称,如 foo32foo64。然后,可以使用包装(在下一节中进行介绍)来运行正确版本的应用程序。这样做的一个优点是用户无需了解具体版本(32 位或 64 位),因为系统会根据平台自动执行正确的版本。