快速业务通道

在异构UNIX系统间可靠的迁移Java应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
lasses}"          class="${class.jni}" /> 17   </target> 18   <target name="copy-native-includes" depends="compile- header"> 19    <mkdir dir="${path.src.native.include}" /> 20    <copy todir="${path.src.native.include}"> 21     <fileset dir="${path.dist.classes}"> 22      <include name="**/*.h" /> 23     </fileset> 24    </copy> 25   </target> 26   <target name="compile-native" depends="copy-native- includes"> 27    <exec executable="nmake" dir="${path.src.native} " failonerror="true" /> 28    <copy todir="${path.dist.lib}"> 29     <fileset dir="${path.src.native}"> 30      <include name="*.so" /> 31     </fileset> 32    </copy> 33   </target> 34   <target name="clean"> 35    <delete dir="${path.dist}" /> 36    <delete dir="${path.src.native.include}" /> 37    <delete> 38     <fileset dir="${path.src.native}"> 39      <include name="**/*.so" /> 40     </fileset> 41    </delete> 42   </target> 43  </project>

清单 12. Red Hat (linux.x86.mk) 上的 Makefile

1  CC= gcc 2  PROGNAME= libhellolib.so 3  INCLUDES= -I/home/spark/jdk1.5.0_07/include 4  INCLUDES+= -I/home/spark/jdk1.5.0_07/include/linux 5  CFLAGS=  -o $(PROGNAME) -shared -Wl,-soname,libhello.so 6  CFLAGS+= $(INCLUDES) 7  CFLAGS+= -static -lc 8  SRCS = hello.c 9  all: 10      $(CC) $(CFLAGS) $(SRCS)

在异构UNIX系统间可靠的迁移Java应用(6)

时间:2011-04-16 IBM Shen Yu

如果将上述所有的任务集中到一起,那么您就可以构造一个原型构建系统。下面的图 2 显示了该系统的规划依赖关系图。可以使用这个原型作为一个起点。本文剩下的部分将从原 型到具有实际规模的工作系统对该系统进行详细阐述。

图 2. 任务依赖关系

在异构UNIX系统间可靠的迁移Java应用 - 编程入门网

设计一个可插入的构建系统

要移植到不同的目标平台,对于开发人员来说是一项挑战,因为不同平台的系统调用各不 相同。这些平台上的第三方库也不相同。在编写构建脚本时,存在同样的情况。假设目标平 台包括下列平台:

Freebsd + x86

Linux® + ia64

Linux + ppc32

Linux + ppc64

Linux + s390

Linux + s390x

Linux + x86

Linux + x86_64

使得平台特定的构建脚本成为可插入的和可移植的

这些平台上的 GCC 可以识别不同的标志,make 命令甚至具有不同的名称。表 1 对这些 目标平台上 GCC 标志的子集进行了比较。

表 1. 不同平台上标志的比较

Platform OPT OSLIBS ASFLAGS LDFLAGS XLIBS
freebsd/x86 -march=pentium3 -lc_r -lm N/A N/A N/A
Linux/ia64 N/A N/A N/A N/A N/A
Linux/ppc32 -m32 N/A -m32 -m32 N/A
Linux/ppc64 -m64 N/A -a64 -m64 -L/usr/X11R6/lib64 -lX11 -lXft
Linux/s390 -fpic -m31 N/A -m31 -m31 N/A
Linux/s390x -fpic -m64 N/A -m64 -m64 N/A
Linux/x86 -march=pentium3 N/A N/A N/A N/A
Linux/x86_64 -fpic N/A N/A N/A -L/usr/X11R6/lib64 -lX11 -lXft

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号