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

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

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

2.VC要添加的如图

(1)

 

 

(2)

 

目录结构

Dictionary(本地目录)

--|DictionaryClinet.java

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

--|DictionaryClinet.h(javah生成)

--|--Dictionary(包名)

--|--|DictionaryClinet.class

 

 

1.编译命令

D:\Java\Dictionary>javac DictionaryClinet.java

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

3.生成头文件

D:\Java\Dictionary>set classpath=D:\Java\Dictionary

D:\Java\Dictionary>javah -jni Dictionary.DictionaryClinet

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

 

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

原文地址:

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

原文:

第一步:安装Java jdk,eclipse。
第二步,配置Java环境变量, java环境变量配置
第三步,新建一个Java应用程序,名为:TestNativeCode,包名:com.liyong.TestNativeCode,类名:TestNativeCode
第四步,在TestNativeCode类里面添加如下代码:
复制代码
package com.liyong.TestNativeCode;  public class TestNativeCode {     public native void sayHello();     public static void main(String[] args) {         System.loadLibrary("NativeCode");         TestNativeCode nativeCode=new TestNativeCode();         nativeCode.sayHello();         } }
复制代码

第五步,编译Java文件
1,运行-->cmd-->进入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文件,具体如蓉如下

复制代码
#include "stdafx.h" #include "com_liyong_TestNativeCode_TestNativeCode.h" #include <iostream>
using namespace std;  JNIEXPORT void JNICALL Java_com_liyong_TestNativeCode_TestNativeCode_sayHello(JNIEnv * env, jobject obj) { cout<<"Hello NDK!"<<endl; //printf("Hello NDK!");
}
复制代码

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,成功!这里只是一个简单的例子,具体的应用就靠大家举一反三啦

 

你可能感兴趣的:(java,C++,jni,初入混合编程)