linux软件运行solaris,将Unix应用程序移植到Linux系统详解

C 和 C++ 应用程序的移植指南

以下技术讨论来自 Solaris to Linux porting guide(1)(ibm.com/developerworks/linux/library/l-solar/),这些讨论也可被用于其它主流 UNIX 系统。

Linux 操作系统、构建工具和多数语言的编译器可免费获得并可从因特网上下载。为了开始移植,您将需要提供硬件和开发人员:

第 1 步 ― 下载所需的开发工具和 Linux 分发版。

第 2 步 ― 改用 Linux 开发工具但仍然运行 Solaris。这种方法使得转变更平缓。

第 3 步 ― 熟悉 Linux 操作系统但仍旧在 Sun 硬件上运行。

第 4 步 ― 把应用程序移到目标 Linux 平台。

第 1 步:下载

以下列出的是所需的编译器、构建工具和相关的在线文档链接:

GCC(GNU Compiler Collection)工具套件包含一个 C 编译器和一个 C++ 编译器

gcc.gnu.org/releases.html

在线文档

gcc.gnu.org/onlinedocs/gcc-2.95.2/gcc_toc.html

Solaris GNU 编译器和 make(gmake)实用程序

[url]www.sunfreeware.com/[/url]

在线文档

docs.sun.com/

gnu.org/manual/make-3.79.1/html_mono/make.html

Linux 可从以下 Linux 发行商那里获得。

Caldera [url]www.caldera.com/[/url]

Red Hat [url]www.redhat.com/[/url]

SuSE [url]www.suse.com/[/url]

Turbolinux [url]www.turbolinux.com/[/url]

― Linux 的 UltraSPARC 版本

Sun [url]www.sun.com[/url]

第 2 步:为 Solaris 上的 Linux 构建您的 C/C++ 应用程序

安装工具 ― 先在 Solaris 上安装 GNU 工具。由于 GNU 编译器和 make 实用程序在 Solaris 和 Linux 上都能用,所以使用这些工具来尝试初次构建您的 Linux 应用程序相对较容易。

转换 makefile ― 构建您的应用程序时请用 GNU gmake 实用程序,别用 Solaris make 实用程序。根据您的 makefile 中用到的构造,您可能遇到 GNU gmake 实用程序产生的错误消息,因为 GNU gmake 实用程序和 Solaris make 实用程序是有区别的。请用 make 工具文档来帮助找出 makefile 中有问题的地方,然后对 makefile 作出所需的调整。

编译和调试 ― 当您通过修改您的 makefile、使之能被 gmake 使用后,把 makefile 中调用 C 编译器的名字 cc 改为 gcc,C++ 编译器的名字 CC 改为 g++。然后编译该应用程序。您在构建中所遇到的错误消息,如果有的话,可被分成两类:命令行选项问题和代码问题。

找出由于 GNU 和 Sun 编译器所接受的命令行选项有所不同而产生的消息。除了几个基本选项(例如“-c”和“-g”),两个编译器能接受的多数选项是不同的。请参阅编译器文档,修改您的 makefile,以适应编译器选项间的区别。

下一步,您可以处理剩下的与代码有关的错误消息和警告。请参阅编译器文档,理解并解决由于编译器之间的差别而产生的问题。

第 3 步:在 Linux 的 Sun UltraSPARC 版本上构建和测试您的应用程序。

如果所移植的应用程序依赖特定的 UltraSPARC 硬件,那么这是移植过程中的重要阶段。Solaris 开发者有机会熟悉 Linux 环境而不必放弃下层的 UltraSPARC 硬件,也不必修改应用程序中特定于硬件的部分。

安装 Linux 环境 ― 在 Sun UltraSPARC 上,安装 Linux 和 GNU 实用程序。

编译并调试运行时 API ― 因为您在构建您的应用程序时用的是 GNU 实用程序,所以您在这步看到的区别限于 Solaris 和 Linux 之间的运行时应用程序编程接口(application programming interfaces,API)的区别。如果您想了解这些区别的更多信息,请参阅运行时接口部分(第 7 页)。对应用程序作出所需的调整。测试 ― 当应用程序被完全地重新构建后,进行彻底的验证测试。

第 4 步:在目标 Linux 平台上构建和测试您的应用程序。

安装 Linux 环境 ― 在目标硬件上安装 Linux 和 GNU 工具。

复制并重新构建应用程序 ― 把您的源代码树和 makefile 复制到新的 Linux 机器上并重新构建应用程序。如果您没完成第 3 步,那么您可能需要修改应用程序,以适应 Solaris 和 Linux 之间运行时 API 的区别。最后,如果您的应用程序包含任何特定于 UltraSPARC 的代码,那么,请作出所需的修改,以解决那部分代码的问题。

修改安装例程,以适应目标 Linux 平台。各种 Linux 平台(分发版)的配置和启动文件的位置稍有不同。

测试 ― 在结束移植前,对移植的应用程序运行彻底的验证测试套件。另外,在目标 Linux 平台上测试配置和安装。

注意!许可证和版权条款 ― 当您移植到 Linux 并把您的应用程序和开放源代码的库链接时,请注意和这些库有关的许可证和版权。至少来说,您新移植的 C/C++ 应用程序将被链接到 GNU C/C++ 运行时库。

C 和 C++ 应用程序的移植指南

以下技术讨论来自 Solaris to Linux porting guide(1)(ibm.com/developerworks/linux/library/l-solar/),这些讨论也可被用于其它主流 UNIX 系统。

Linux 操作系统、构建工具和多数语言的编译器可免费获得并可从因特网上下载。为了开始移植,您将需要提供硬件和开发人员:

第 1 步 ― 下载所需的开发工具和 Linux 分发版。

第 2 步 ― 改用 Linux 开发工具但仍然运行 Solaris。这种方法使得转变更平缓。

第 3 步 ― 熟悉 Linux 操作系统但仍旧在 Sun 硬件上运行。

第 4 步 ― 把应用程序移到目标 Linux 平台。

第 1 步:下载

以下列出的是所需的编译器、构建工具和相关的在线文档链接:

GCC(GNU Compiler Collection)工具套件包含一个 C 编译器和一个 C++ 编译器

gcc.gnu.org/releases.html

在线文档

gcc.gnu.org/onlinedocs/gcc-2.95.2/gcc_toc.html

Solaris GNU 编译器和 make(gmake)实用程序

[url]www.sunfreeware.com/[/url]

在线文档

docs.sun.com/

gnu.org/manual/make-3.79.1/html_mono/make.html

Linux 可从以下 Linux 发行商那里获得。

Caldera [url]www.caldera.com/[/url]

Red Hat [url]www.redhat.com/[/url]

SuSE [url]www.suse.com/[/url]

Turbolinux [url]www.turbolinux.com/[/url]

― Linux 的 UltraSPARC 版本

Sun [url]www.sun.com[/url]

第 2 步:为 Solaris 上的 Linux 构建您的 C/C++ 应用程序

安装工具 ― 先在 Solaris 上安装 GNU 工具。由于 GNU 编译器和 make 实用程序在 Solaris 和 Linux 上都能用,所以使用这些工具来尝试初次构建您的 Linux 应用程序相对较容易。

转换 makefile ― 构建您的应用程序时请用 GNU gmake 实用程序,别用 Solaris make 实用程序。根据您的 makefile 中用到的构造,您可能遇到 GNU gmake 实用程序产生的错误消息,因为 GNU gmake 实用程序和 Solaris make 实用程序是有区别的。请用 make 工具文档来帮助找出 makefile 中有问题的地方,然后对 makefile 作出所需的调整。

编译和调试 ― 当您通过修改您的 makefile、使之能被 gmake 使用后,把 makefile 中调用 C 编译器的名字 cc 改为 gcc,C++ 编译器的名字 CC 改为 g++。然后编译该应用程序。您在构建中所遇到的错误消息,如果有的话,可被分成两类:命令行选项问题和代码问题。

找出由于 GNU 和 Sun 编译器所接受的命令行选项有所不同而产生的消息。除了几个基本选项(例如“-c”和“-g”),两个编译器能接受的多数选项是不同的。请参阅编译器文档,修改您的 makefile,以适应编译器选项间的区别。

下一步,您可以处理剩下的与代码有关的错误消息和警告。请参阅编译器文档,理解并解决由于编译器之间的差别而产生的问题。

第 3 步:在 Linux 的 Sun UltraSPARC 版本上构建和测试您的应用程序。

如果所移植的应用程序依赖特定的 UltraSPARC 硬件,那么这是移植过程中的重要阶段。Solaris 开发者有机会熟悉 Linux 环境而不必放弃下层的 UltraSPARC 硬件,也不必修改应用程序中特定于硬件的部分。

安装 Linux 环境 ― 在 Sun UltraSPARC 上,安装 Linux 和 GNU 实用程序。

编译并调试运行时 API ― 因为您在构建您的应用程序时用的是 GNU 实用程序,所以您在这步看到的区别限于 Solaris 和 Linux 之间的运行时应用程序编程接口(application programming interfaces,API)的区别。如果您想了解这些区别的更多信息,请参阅运行时接口部分(第 7 页)。对应用程序作出所需的调整。测试 ― 当应用程序被完全地重新构建后,进行彻底的验证测试。

第 4 步:在目标 Linux 平台上构建和测试您的应用程序。

安装 Linux 环境 ― 在目标硬件上安装 Linux 和 GNU 工具。

复制并重新构建应用程序 ― 把您的源代码树和 makefile 复制到新的 Linux 机器上并重新构建应用程序。如果您没完成第 3 步,那么您可能需要修改应用程序,以适应 Solaris 和 Linux 之间运行时 API 的区别。最后,如果您的应用程序包含任何特定于 UltraSPARC 的代码,那么,请作出所需的修改,以解决那部分代码的问题。

修改安装例程,以适应目标 Linux 平台。各种 Linux 平台(分发版)的配置和启动文件的位置稍有不同。

测试 ― 在结束移植前,对移植的应用程序运行彻底的验证测试套件。另外,在目标 Linux 平台上测试配置和安装。

注意!许可证和版权条款 ― 当您移植到 Linux 并把您的应用程序和开放源代码的库链接时,请注意和这些库有关的许可证和版权。至少来说,您新移植的 C/C++ 应用程序将被链接到 GNU C/C++ 运行时库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值