ChinaUnix.net 首页 | 博客 | Linux | 论坛 | 人才 | 培训 | 知识库 | 资料 | 读书 | 手册 | 精华 | 下载 | 沙龙 | 搜索
Linux首页 | Linux论坛 | 论坛精华 | 开源新闻 | 技术文章 | 专题专栏 | 新手指南 | 迁移方案 | 产品方案 | 开源项目 | 开源图书 | 软件下载 | 人才招聘 | Linux博客
  搜索

  产品与方案
·中科红旗全面打造现代化邮政体系
·红旗助力“网上审批服务” 推动电子政务
·红旗正版化开创呼和浩特网吧建设新起点
·红旗Linux助信息产业部邮件服务器“快跑”
·中标普华Linux 为电子政务信息化保驾护航
·中标普华Linux助力基金产业
·中标普华Office率先支持UOF标准
·中标普华邮件系统助力西藏政府信息化建设
·红旗Linux助力国库集中支付系统改革
·红旗助中信卫星 掀起GIS通信应用风暴
·红旗软件助力烟草总局 全面建设“数字烟草”
·红旗助力“信访阳光工程”打造畅通信访渠道
·红帽联合FIS发布下一代实时核心银行平台
·红旗助力金盾 打造全无忧出入境信息系统
·红旗Linux全力打造中国邮政总局名址信息库
·爱尔兰证交所从Unix迁移到红帽企业Linux
·一流的意大利银行选择使用红帽企业Linux
·PLUS Finanzservice选择使用红帽企业Linux
·红帽助力TransACT Communications 公司
·法国零售业巨头Lapeyre采用Redhat Linux
·旅游预订网站选择使用红帽企业Linux
·马哈拉施特拉邦政府的红帽解决之道
·美国联邦政府案例
·红帽为慕尼黑展览会提供现代化集群系统
·Yuba郡用开源软件和红帽产品提高了效率
·红帽企业Linux助印度理工建立高性能计算中心
·采用红帽Linux 将系统维护时间缩短了65%
·从UNIX迁移到Linux使Peñoles公司获益非浅
·Hikal公司用红帽企业Linux开展任务关键的ERP项目
·KDE3.5.4新版本发布
·芝加哥商业交易所从Unix向Linux迁移
·南方基金管理有限公司成功案例 Red Hat Linux
·广东北电通讯设备有限公司成功案例
·挪威国家石油公司从UNIX迁移到红帽Linux,成本减半
·中央电视台CCTV动画部案例 Red Hat Linux

  图书

鸟哥的Linux私房菜基础学..


Linux程序设计.第3版


Linux设备驱动开发详解


  下载
·Endian Firewall
·linux kernel(Linux 内核)
·CentOS
·Fedora Core 6
·Scientific Linux
·Slackware 11.0
·Gentoo Linux
·ubuntu-6.10-i386服务器版本
·ubuntu-6.10-amd64服务器版
·ubuntu-6.10-i386桌面版
·ubuntu-6.10-amd64桌面版
·Engarde Linux
您的位置: Linux时代 > 新闻资讯 >

3步骤移植Solaris到Linux Java程序属此范畴

日期:2006-12-05 作者:CNET科技资讯网 来自:CNET科技资讯网


  如果应用程序只使用标准语言构件和标准库,而且并不一定要在SPARC处理器上的SolarisS下运行,那么移植就相对容易一点。举例来说,Java 应用程序通常就属于这个范畴。另一方面,如果应用程序不使用Solaris上的POSIX服务的C程序,或者依赖于Linux上没有的第三方产品,那么移植工作就困难多了。当移植应用程序时,很多情况下都是在将不可移植的方法和附属物替换成可移植性更好的东西。您会将Solaris构建工具替换成GNU工具,并使用与POSIX相容的线程库代替Solaris中对应的库。因为这些工具和接口在Solaris上也能找到,所以您可以继续自由地使用 Solaris,甚至在将开发平台移植到Linux之后继续把握Solaris市场。

  在Solaris上用GNU构建C/C++应用程序

  GCC(GNU Compiler Collection)工具套装包括一个C编译器和一个C++编译器。因为Solaris和Linux中都有GNU编译器和make实用程序,所以要用这些工具开始构建应用程序相对来说比较容易。

  首先,请下载GNU工具,并将它们安装在Solaris上。然后,请试着用GNU gmake实用程序(而不是Solaris make实用程序)来构建应用程序。因为GNU gmake实用程序与Solaris make实用程序有所不同,所以根据您的make文件中使用的构件,会碰到GNU gmake实用程序生成的一些错误消息。请使用上面的make工具文档链接来识别make文件中的问题区域,并相应地调整make文件。一旦将make文件修改为使用 gmake,请在make文件中将被调用的C编译器的名称从cc改为gcc,并将C++编译器的名称从CC改为g++。

  然后重新构建应用程序,在构建过程中会碰到的错误消息(如果存在的话)可以分为两类:命令行选项问题和代码问题。请辨别出那些由于 GNU和Sun编译器接受的命令行选项中有所区别而产生的消息。除了少数几个基本选项(如“-c”和“-g”)之外,编译器接受的多数选项都不同。

  下面,就可以处理剩下与代码相关的错误消息和警告信息了。处理这些消息的一种简单的方法是将它们捕获在一个文件中,并逐个检查。请使用上面的编译器文档链接来了解和处理编译器之间不同的问题。在移植到Linux和将应用程序链接到开放源代码库时,请注意与这些库相关的许可证和版权。新移植的C/C++应用程序至少将被链接到GNU C/C++运行时库,这些库受GNU“copyleft”许可证的保护。如果正在移植的软件有专有属性,而且您打算在用GNU工具构建该软件之后马上出售它,那么最好谨慎地全面理解GNU通用公共许可证和GNU次通用公共许可证中规定的条款和条件。一旦软件被链接到由这些许可证保护的库上,GNU许可证中的某些条款和条件就将沿用到您的软件上。

  在Linux上构建并测试应用程序

  有一种不常见的情况,那就是被移植的应用程序有对SPARC硬件特定的附属物,这时第2个步骤就变成移植过程中重要的中间阶段了。它使 Solaris开发者能够在不放弃底层SPARC硬件和不修改应用程序中特定于SPARC的部分的前提下熟悉Linux环境。请下载可以在您的Sun硬件上运行的Linux版本,然后安装操作系统,使用所提供的GNU工具重新构建应用程序。因在第2个步骤中使用GCC构建了应用程序,所以在第2个步骤中将碰到的区别将被限制到Solaris和Linux之间的运行时应用程序编程接口(application programming interface,API)的区别。

  为其它硬件构建和测试应用程序

  在迁移过程的最后一个步骤中,首先请获取并在您选择的目标硬件上安装Linux。可以直接使用Linux的服务器有IBM基于英特尔 IA32的产品系列(包括 NetVista、IntelliStation、Netfinity)和IBM eServer xSeries。IBM pSeries和zSeries也可以使用Linux。您可以低价购得或免费下载流行的用于x86的Red Hat Linux分发版,而且它在几乎任何一台基于英特尔处理器的PC机上都很容易安装和设置。此外,一定要安装将使用的编译器和工具。

  其它注意事项

  系统管理总的来说,管理Linux与管理任何其它UNIX操作系统几乎一样,只是在某些具体的命令和任务上有一些区别,IBM和UNIXGuide已经发布了比较图,总结了这些区别,其中不仅包括Solaris和Linux之间的区别,还包括AIX和其它版本的UNIX之间的区别。有经验的Solaris系统管理员不必花费太大气力就能够完全适应Linux。

  源代码管理 对于目前正在使用Solaris上的Sun Forte TeamWare或者SCCS(Source Code Control System,源代码控制系统)并希望继续使用SCCS这种风格的源代码管理系统的开发者来说,他们可以试着使用GNU CSSC(Compatibly Stupid Source Control),开放源代码SCCS的克隆版本。CVS(Concurrent Versions System)是Linux上更常用而且倍受推崇的源代码管理系统。

  其它第三方工具、实用程序和库 Solaris上有很多常见、流行的第三方工具、实用程序和库,它们都可以在Linux上使用。鉴于Linux的日益普及,支持Linux的第三方供应商的数目每天都在增长。

  64位计算 Red Hat和很多其它发行商为Compaq/DEC Alpha提供了一种64位版的Linux。您可以在AlphaLinux Web站点上了解关于这种Linux的其它信息。64位的Solaris和64位的Linux/Alpha都使用LP64数据模型,它能够带来很好的兼容性。不久,英特尔安腾64位处理器也能够使用一种64位版的Linux。您可以在IA-64 Linux Project Web站点了解关于这种Linux的更多信息,此外,一种支持IBM 64位PowerPC体系结构的Linux也在开发之中。 请注意,尽管SuSE Linux/UltraSPARC的内核运行在64位的模式中,但SuSE Linux/UltraSPARC目前并不支持64位的用户空间应用程序。

  端(Endian)格 Sun SPARC和UltraSPARC处理器以大端(Big Endian)格式存储整数。如果希望将应用程序移植到小端(Little Endian)版本的Linux(如 Linux/Intel)上,就必须解决应用程序中任何与端格式有关的问题,应用程序才能够正确运行。也可以选择让应用程序使用 Linux/PowerPC、Linux/zSeries或Linux/SPARC,它们都是Linux/Intel之外的大端平台。

本文被浏览



 相关新闻

开源企业:拜拜Mono 你好Java2006-12-01 14:03:45
Sun CEO聊Java开源:水涨船高2006-11-21 11:41:21
业界观察:Sun开源Java是否迟到了?2006-11-16 09:24:10
IBM反对SunJava 采用GPL开源策略2006-11-16 09:21:47
商业周刊:处于意料之中的Java开源2006-11-15 09:30:22
GPL规则与Java技术2006-11-15 09:25:24
Sun开放Java源码 IBM认为步伐不够大2006-11-15 09:18:15


 相关评论
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 免费注册

Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证041476号