在异构UNIX系统间可靠的迁移Java应用 - 编程入门网
在异构UNIX系统间可靠的迁移Java应用(7)时间:2011-04-16 IBM Shen YuGCC 标志(本地 makefile 的平台特定部分)有所不同。同时,在每个平台上构建本地组 件的步骤大致上是相同的。为了避免重复,每个模块的构建步骤只需要一个 makefile。图 3 显示了这个结构,它从常量(构建步骤)中提取变量(GCC 标志)。它还使得新的平台特定 的本地代码成为可插入的。 图 3. 将构建步骤和构建标志分开 在这个解决方案中,每个模块的 makefile 放在 <module-name>/native/ 目录中 ,而 GCC 标志 (<platform>.mk) 位于每个平台的 make/platform 目录中。在构建过 程中,每个模块的 makefile 将在运行时自动查找 <platform>.mk 文件(稍后将介绍 其中使用的技术),并包含它们以组成一个完整的本地构建脚本。脚本还可以在特定的目录 (例如,AIX.s390)中选择平台特定的代码进行编译。 要使得前面的示例兼容于这种结构,需要进一步对 makefile 进行划分。下面的清单 13 、14 和 15 显示了这种划分。 清单 13 显示了用于前面示例的模块特定的 makefile(在 makefile 文件中)。 清单 13. 用于 Hello 程序的模块特定的构建步骤
清单 14 显示了常用的宏(在 defines.mk 文件中),这些宏定义了使用哪个 GCC、使用 哪个 ld 以及使用哪些平台特定的本地代码。 清单 14. defines.mk 中常用的宏
在异构UNIX系统间可靠的迁移Java应用(8)时间:2011-04-16 IBM Shen Yu清单 15 显示了平台特定的 GCC 标志(在 <platform.mk> 文件中)。 清单 15. <platform>.mk 中平台特定的 GCC 标志
清单 16 显示了一般的构建步骤(在 rules.mk 文件中)。 清单 16. rules.mk 中一般的构建步骤
在需要一个新的平台支持时,如 Linux on x86,开发人员可以将 linux.x86.mk 文件添 加到 make/platform 目录,并将平台特定的本地代码放到 <module>/native/linux.x86 目录中。在构建的过程中,构建系统使用相应的技术( 稍后将作介绍)动态地查找正确的组件。 设计源代码的布局 这个部分描述了源代码的布局。通常一个企业项目中包含许多组件。假设您有四个组件: 一个纯 Java 组件,用于与用户进行交互 三个 JNI 组件:thread,用来处理实时线程;archive,用来进行压缩和解压缩;net, 用来处理套接字函数 在 JNI 组件中,Java 代码和对应的本地代码之间是高度相关的,所以应该将它们放在一 起。用于该模块的 makefile 和 Ant 构建脚本也应该放在相同的文件夹中。图 4 显示了整 个源代码布局。 图 4. 代码布局和构建脚本 在异构UNIX系统间可靠的迁移Java应用(9)时间:2011-04-16 IBM Shen Yu在这个布局中,make 目录拥有一个 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |