WEB开发网
开发学院操作系统Linux/Unix 为多个 UNIX 平台编写软件 阅读

为多个 UNIX 平台编写软件

 2008-11-13 08:29:12 来源:WEB开发网   
核心提示: System V Release 4 是现在商业分发中最常见的版本,包括基于原始 AT&T 核心且带有一些添加的 BSD 元素的核心,为多个 UNIX 平台编写软件(2), 结果是,尽管从技术而言,如果所构建的应用程序基于特定 UNIX 变体,则将您的系统迁移到 POSIX 标准是实现更好

System V Release 4 是现在商业分发中最常见的版本,包括基于原始 AT&T 核心且带有一些添加的 BSD 元素的核心。

结果是,尽管从技术而言,不同的 UNIX 版本(AIX®、HP-UX、Solaris 等)都是 UNIX,但系统之间存在的差异意味着采用了不同的库、头文件(甚至用于进行构建的工具也不同),从而意味着无法将 C 源代码方便地从一个平台迁移到另一个平台。

实际函数可能没有更改;而不同的仅是函数的位置和定义。

POSIX 兼容性

POSIX 组织进行了大量的工作,以对各种不同系统进行标准化,包括操作系统、实用工具和编程语言。这些标准涵盖了许多方面,既包括“标准”函数及其应返回的内容,也包括这些函数所依赖的 OS 的功能和特性。

对于 UNIX,有关的主要 POSIX 标准是 1003.1,该标准定义了应用程序和操作系统间的接口。

多家不同的公司均已采用了 POSIX 标准,包括 Sun Microsystems、IBM、Digital 和 Hewlett Packard。甚至 Microsoft 也在 Microsoft Windows 内提供了 POSIX 兼容层。

POSIX 1003.1 标准(也称为 POSIX.1)定义用于在 OS 内执行特定操作的函数名,包括参数、格式和调用顺序。该标准还指定预期的返回值和其他错误(包括错误代码相关的标准)

总之,任何符合 POSIX 的函数调用应在各种操作系统上都能正常工作,而无需进行任何修改。例如,chdir() 函数就已在 POSIX 标准中定义,因此函数:int chdir(const char *path); 应该在所有符号 POSIX 标准的 UNIX 变体上可用,不同环境中的参数值(一个字符串)、返回值(一个整数值)和错误消息应该相同。

如果所构建的应用程序基于特定 UNIX 变体,则将您的系统迁移到 POSIX 标准是实现更好兼容性的第一步,但这并不能消除所有问题。

上一页  1 2 3 4 5 6 7  下一页

Tags:多个 UNIX 平台

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接