引言
使用 Java Native Interface (JNI) 编写 Java 应用程序可能充满挑战。C/C++ 代码比较复杂,并且维护其构建系统也是一项非常烦琐的任务。当基础平台的数量增加时, 如果不经过精心设计,整个构建系统可能会变得一团糟。有一种选择是,为每种平台构造一 种单独的构建系统,尽管从软件工程的角度来说,这样做不是很合适并且可能带来很大的麻 烦。
要确保能够移植到许多异类 UNIX 平台,那么构建系统必须是可插入的。通过集成 Apache Ant、GNU Compiler Collection (GCC)、Make 和 Subversion,您可以创建一个功能 强大的构建系统。应该将构建系统组件化,这样一来,为新的组件添加或删除新的平台支持 就非常简单。它还应该使用各种技术以便自动地检测当前的平台,然后调用相应平台特定的 构建组件。本文介绍了如何构造这样的系统,您将学习到下面的内容:
集成 Ant、GCC、Make 和 Subversion
设计可插入的和可移植的构建系统及其源代码布局
在设计本地构建组件时,描述值得注意的 GCC 标志
自动检测当前构建环境,并设计任务依赖关系
集成 Ant、GCC、Make 和 Subversion
本文中的构建环境涉及到许多开放源代码工具(请参见参考资料部分以进行下载):
Ant
Java Development Kit (JDK)
GCC
Make
Subversion
图 1 中显示了这个构建环境。Ant 主要负责:
检索代码到本地工作位置
调用 JDK 编译 Java 代码
调用 Make 构建本地代码
图 1. 构建环境
时间: 2024-10-09 15:54:37