码迷,mamicode.com
首页 > 编程语言 > 详细

Java固有接口JNI(Java Native Interface)之HelloWorld

时间:2017-08-19 21:18:04      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:call   nat   load   off   关键词   lib   编译   new   编写   

1、编写java程序

public class HelloWorld {
    public native void displayHelloWorld();//所有native关键词修饰的都是对本地的声明
    static {
        System.loadLibrary("hello");//载入本地库
    }
    public static void main(String[] args) {
        new HelloWorld().displayHelloWorld();
    }
}

2、编译

javac HelloWorld.java 

3、生成扩展名为h的头文件

javah HelloWorld

4、编写本地方法实现和由javah命令生成的头文件里面声明的方法名相同的方法。

#include"jni.h"
#include"HelloWorld.h"
 
//#includeotherheaders
 
JNIEXPORT void JNICALL
Java_HelloWorld_displayHelloWorld(JNIEnv*env,jobject obj)
{
printf("Helloworld!\n");
return;
}

5、编写pro文件

TARGET = hello
TEMPLATE = lib
LANGUAGE = c++
CONFIG -= qt
CONFIG += warn_off dll

INCLUDEPATH     += $$(java_home)\include					$$(java_home)\include\win32
HEADERS = HelloWorld.h
SOURCES = HelloWorldImpl.c

6、编译动态链接库

qmake
nmake

7、运行程序  

java HelloWorld

即可在控制台进行输出。 

Java固有接口JNI(Java Native Interface)之HelloWorld

标签:call   nat   load   off   关键词   lib   编译   new   编写   

原文地址:http://www.cnblogs.com/yuan1164345228/p/7397761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!