`
yaasshole
  • 浏览: 658827 次
文章分类
社区版块
存档分类
最新评论

cygwin + gcc+makeFile入门(三): JNI的编译

 
阅读更多

不想花大力气介绍JNI,所以这部分需要你自己去查阅入门资料:

1. 写包含Native方法的Java类

2. 编译上述java类,并通过javah生成.h头文件

3. 根据头文件写CPP

4. 编译.h + .cpp文件

首先学习一下设置环境变量:
1. 引用环境变量, 用美元符号 $PATH
2. 设置环境变量, export helloworld=abc; 别带空格
3. 彻底修改环境变量, 编辑etc/profile文件

但是在MakeFile文件中,最好别动用设置环境变量这项工作,有时候不起作用(原因未知), 在提供的源代码下载链接中,makefile文件

设置了环境变量, 可能导致无法编译; 所以我们寻求第二套方案:

name=abcXXX

然后引用的时候,采用$(name)

makefile 源文件如下(替换下载源代码中的链接):

源代码使用:

java文件夹生成Native方法所在的class文件以及javah过后的头文件
HelloWorld.java文件存在本地方法,经过JavaH后需要生成.h文件.协助生成dll.
MainCygwin.java将调用HelloWorld.java中的静态方法.


c文件夹生成JNI 的DLL 具体看Makefile文件的说明, 仅有的几个gcc的开关,熟悉一下就会了,
并不难:
-c编译
-shared 生成动态库
-o 输出, 可以省略

源码下载地址:http://download.csdn.net/source/1828215

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics