天天看点

JNI-Java调用C++牛刀小试

 网上看了好多贴子,但是说的虽大体一致,但还是弄了好久好久

1.Java配置这个就不提了、

2.VC要添加的如图

(1)

<a href="http://blog.51cto.com/attachment/201304/111728471.jpg" target="_blank"></a>

(2)

<a href="http://blog.51cto.com/attachment/201304/111728374.jpg" target="_blank"></a>

目录结构

Dictionary(本地目录)

--|DictionaryClinet.java

--|DictionaryClinet.class(编译后生成)

--|DictionaryClinet.h(javah生成)

--|--Dictionary(包名)

--|--|DictionaryClinet.class

1.编译命令

D:\Java\Dictionary&gt;javac DictionaryClinet.java

2.Dictionary是java文件中的包名,DictionaryClinet是类名。在目录下新建文件夹Dictionary,然后把生成的DictionaryClinet.class复制到该文件夹。

3.生成头文件

D:\Java\Dictionary&gt;set classpath=D:\Java\Dictionary

D:\Java\Dictionary&gt;javah -jni Dictionary.DictionaryClinet

4.通过小测试,实现了Java与C++的调用。

-------------以上是参考帖子总结出来的,算是下面这个帖子的一些补充-----------------

原文地址:

http://www.cnblogs.com/cpcpc/archive/2012/08/13/2636199.html

原文:

第一步:安装Java jdk,eclipse。

第三步,新建一个Java应用程序,名为:TestNativeCode,包名:com.liyong.TestNativeCode,类名:TestNativeCode

第四步,在TestNativeCode类里面添加如下代码:

第五步,编译Java文件

1,运行--&gt;cmd--&gt;进入TestNativeCode项目的src目录下编译该Java类,命令 javac ./com/liyong/TestNativeCode/TestNativeCode.java。在该TestNativeCode.java目录下会生成TestNativeCode.class文件

2,使用javah生成头文件,命令 javah -jni com.liyong.TestNativeCode.TestNativeCode。在src目录下生成com_liyong_TestNativeCode_TestNativeCode.h文件。

第六步,编译C++类库

1,打开VS2008,新建Win32 项目NativeCode,如图所示:

确定后,在“应用程序类型”中选择“DLL”,如图:

2,将上一步生成的com_liyong_TestNativeCode_TestNativeCode.h添加到项目头文件中。

3,在NativeCode项目的“源文件”中添加NativeCode.cpp文件,具体如蓉如下

4,使用Release编译,生成NativeCode.dll,将其拷贝到java环境变量Java_Home的Bin目录下,比如,LZ的Java_Home目录是

C:\Program Files\Java\jdk1.6.0_25,将NativeCode.dll拷贝到C:\Program Files\Java\jdk1.6.0_25\bin目录下。

第七步,运行Java应用程序,会输出“Hello NDK!”,Ok,成功!这里只是一个简单的例子,具体的应用就靠大家举一反三啦

本文转自 天涯飞客 51CTO博客,原文链接:http://blog.51cto.com/425093014/1181233,如需转载请自行联系原作者