标签:jni
JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。
下面我来讲讲技术的实现
(1)在Visual C++ 6.0工具下新建一个Win32 Dynamic-Link Libreay工程,并创建空的DLL工程
(2)写一段java代码
public class HelloWord { private native void hello(); //主要是需要这个声明 public static void main(String[] args) { } }(3)然后打开cmd,编译java生成的class文件得到HelloWord.h
(2)然后在此工程的位置中放入以下三个文件:jni.h (jdk目录下的include文件夹中) jni_md.h (jdk目录下的include文件夹下的WIN32中) HelloWord.h
(3)然后
右键HeaderFiles添加文件到目录-〉选择上面步骤中的第三个文件,然后将HelloWord.h中#include<jni.h>改成#include"jni.h"
(4)然后右键SourceFiles新建一个C++SourceFiles文件,文件中实现所声明的方法
#include"HelloWord.h" // #include<stdio.h> JNIEXPORT void JNICALL Java_HelloWord_hello //实现 (JNIEnv *, jobject){ printf("hehe"); }
(6)java就可以打印出用c++编译的helloworld了
public class HelloWord { private native void hello(); public static void main(String[] args) { System.loadLibrary("H"); HelloWord h=new HelloWord(); h.hello(); } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:jni
原文地址:http://blog.csdn.net/ac_great/article/details/46745337