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:

  

  

3、创建项目:

  

  

  

  

4、文件结构

  

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

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

  2)jdk1.7.0_80includejni.h

  3)jdk1.7.0_80includewin32jni_md.h

  

6、添加头文件到项目:

  

  

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

  

8、新建cpp文件:

  

  添加代码:

  

#include <iostream>

#include "Test.h"

using namespace std;

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

  

9、编译生成32位dll

   

10、编译生成64位dll

  设置64位

  

  

  

  

  

  

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

  

  

原文地址:https://www.cnblogs.com/sshoub/p/9040627.html