zoukankan      html  css  js  c++  java
  • First JNI

    http://hi.baidu.com/fwmf/blog/item/849c1cf7ece36c3a730eecee.html

    ubuntu 11.04:
    cd to a dir:
    1,vim HelloWorld.java:
    public class HelloWorld {
    
            private native void print();
    
            public static void main(String[] args) {
                    new HelloWorld().print();
            }
    
            static {
                    System.loadLibrary("HelloWorld");
            }
    }
    


    2,然后: javac HelloWorld.java
    (make sure CLASSPATH包含.)

    3,javah -jni HelloWorld
    to gen a HelloWorld.h file
    4,vim HelloWorld.c :
    #include <jni.h>
    #include <stdio.h>
    #include "HelloWorld.h"
    
    JNIEXPORT void JNICALL Java_HelloWorld_print(JNIEnv *env,jobject obj){
            printf("Hello World!\n");
            return ;
    }
    


    5 cp $JAVA_HOME/include/*.h & include/linux/*.h to /usr/include/
    then do:
    gcc -fPIC -shared -o libHelloWorld.so HelloWorld.c
    or just use :
    gcc -I $JAVA_HOME/include -I $JAVA_HOME/include/linux  -fPIC -shared -o libHelloWorld.so HelloWorld.c

    note don't use -c for HelloWorld.c

    6 java -Djava.library.path=. HelloWorld
    OK



  • 相关阅读:
    Enum.GetUnderlyingType(obj.GetType())
    Out,ref,params修饰符,可选参数,命名参数
    Linq
    var
    checked,unchecked
    StringBuilder.sb.AppendLine();
    js改变css样式的三种方法
    flex的用途
    clip-path
    json 对象 数组
  • 原文地址:https://www.cnblogs.com/cwjcsu/p/8433085.html
Copyright © 2011-2022 走看看