美文网首页
编写第一个JNI程序

编写第一个JNI程序

作者: 疯狂的冰块 | 来源:发表于2018-03-29 16:14 被阅读26次

    HelloWorld.java

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

    HelloWorldImpl.cpp

    #include "jni.h"
    #include "HelloWorld.h"
     
    //#include other headers
     
    JNIEXPORT void JNICALL
    Java_HelloWorld_displayHelloWorld(JNIEnv*env,jobject obj)
    {
        printf("Helloworld!\n");
        return;
    }
    
    
    # 编译C++程序
    gcc -o libHelloWorld.so -I/usr/software/jdk8/include -I/usr/software/jdk8/include/linux -I. -fPIC -shared HelloWorldImpl.cpp
    
    java -Djava.library.path=. HelloWorld
    

    输入

    Helloworld!
    

    第一个JNI程序完成!

    可以通过如下代码获取library路径

    System.getProperty("java.library.path");
    

    相关文章

      网友评论

          本文标题:编写第一个JNI程序

          本文链接:https://www.haomeiwen.com/subject/fygmcftx.html