Java Native调用C方法

1、通过JNI生成C调用的头文件:Java源码:

import java.io.File;

public class Test {

    static {
System.load("D:" + File.separator + "Hello.dll");
} public native static void Hello(); public static void main(String[] args) {
Hello();
//System.out.print("aaa");
}
}

2、生成头文件:cmd 进入java文件所在的位置,执行javah:

  Java Native调用C方法

  Java Native调用C方法

3、创建项目:

  Java Native调用C方法

  Java Native调用C方法

  Java Native调用C方法

  Java Native调用C方法

4、文件结构

  Java Native调用C方法

5、复制头文件,到程序目录下:

  1)通过JNI生成的头文件 Test.h

  2)jdk1.7.0_80\include\jni.h

  3)jdk1.7.0_80\include\win32\jni_md.h

  Java Native调用C方法

6、添加头文件到项目:

  Java Native调用C方法

  Java Native调用C方法

7、修改Test.h头文件,改为引号:

  Java Native调用C方法

8、新建cpp文件:

  Java Native调用C方法

  添加代码:

  

#include <iostream>

#include "Test.h"

using namespace std;

JNIEXPORT void JNICALL Java_Test_Hello(JNIEnv *, jclass)
{
cout << "Hello World!" << endl;
}

  Java Native调用C方法

9、编译生成32位dll

  Java Native调用C方法

10、编译生成64位dll

  设置64位

  Java Native调用C方法

  Java Native调用C方法

  Java Native调用C方法

  Java Native调用C方法

  Java Native调用C方法

  Java Native调用C方法

11、把生成的DLL放在D盘,执行第一步写的Java代码,结果如下:

  Java Native调用C方法

  

上一篇:Container(容器)与 Injector(注入)


下一篇:C# winform程序防止前台卡死