Solaris(64 位)开发者指南

前言

SolarisTM 操作环境的功能为满足用户需求而不断扩展。Solaris 操作环境旨在完全支持 32 位和 64 位体系结构。Solaris 操作环境为可以使用大文件和大虚拟地址空间的 64 位应用程序提供生成和运行环境。与此同时,Solaris 操作环境继续为 32 位应用程序提供最大程度的源代码兼容性、最大程度的二进制兼容性和互操作性。实际上,在 Solaris 64 位实现上运行和生成的大多数系统命令都是 32 位程序。


注 –

此 Solaris 发行版支持使用以下 SPARC® 和 x86 系列处理器体系结构的系统:UltraSPARC®、SPARC64、AMD64、Pentium 和 Xeon EM64T。支持的系统可以在 http://www.sun.com/bigadmin/hcl 上的《Solaris 10 Hardware Compatibility List》中找到。本文档列举了在不同类型的平台上进行实现时的所有差别。

在本文档中,术语 "x86" 是指使用与 AMD64 或 Intel Xeon/Pentium 产品系列兼容的处理器生产的 64 位和 32 位系统。若想了解本发行版支持哪些系统,请参见《Solaris 10 Hardware Compatibility List》。


32 位和 64 位应用程序开发环境之间的主要差异在于 32 位应用程序基于 ILP32 数据模型(其中类型为 intlong 的数据和指针是 32 位的),而 64 位应用程序则基于 LP64 模型(其中类型为 long 的数据和指针是 64 位,其他基本类型的长度与在 ILP32 中的长度相同)。

大多数应用程序都可以保留为 32 位程序,并且无需进行任何更改。仅当应用程序具有以下一个或多个要求时,才需要进行转换:

对于特定的互操作性问题,还可能需要对代码进行更改。例如,如果应用程序使用大于 2 GB 的文件,则可能需要将应用程序转换为 64 位。

在某些情况下,可能会出于性能方面的原因需要将应用程序转换为 64 位。例如,可能需要 64 位寄存器以执行高效的 64 位运算,或者可能需要利用 64 位指令集所提供的其他提高的性能。

目标读者

本文档是为 C 和 C++ 开发者编写的,用于指导您如何确定应用程序是 32 位还是 64 位。本文档提供以下内容:

本书的结构

本书由以下各章组成:

相关书籍

建议进一步阅读以下书籍:

联机访问 Sun 文档

可以通过 docs.sun.comSM Web 站点联机访问 Sun 技术文档。您可以浏览 docs.sun.com 文档库或查找某个特定的书名或主题。URL 为 http://docs.sun.com

印刷约定的含义

下表介绍了本书中的印刷约定。

表 P–1 印刷约定

字体或符号 

含义 

示例 

AaBbCc123

命令、文件和目录的名称;计算机屏幕输出 

编辑 .login 文件。

使用 ls -a 列出所有文件。

machine_name% you have mail.

AaBbCc123

用户键入的内容,与计算机屏幕输出的不同 

machine_name% su Password:

AaBbCc123

命令行占位符:使用实名或值进行替换 

要删除文件,请键入 rm filename

AaBbCc123

保留未译的新词或术语以及要强调的词 

这些称为 class 选项。

注意:有些强调的项目在联机时以粗体显示。 

新词术语强调

新词或术语以及要强调的词 

保存文件。

《书名》 

书名 

阅读《用户指南》的第 6 章。

命令中的 shell 提示符示例

下表列出了 C shell、Bourne shell 和 Korn shell 的缺省系统提示符和超级用户提示符。

表 P–2 Shell 提示符

Shell 

提示符 

C shell 

machine_name%

C shell 超级用户 

machine_name#

Bourne shell 和 Korn shell 

$

Bourne shell 和 Korn shell 超级用户 

#


注 –

术语 "IA-32" 是指 Intel 32 位处理器体系结构。此体系结构包括 Pentium、Pentium Pro、Pentium II、Pentium II Xeon 和 Pentium III 处理器以及由 AMD 和 Cyrix 制造的兼容微处理器芯片。