소프트웨어/Jni

    jni 컴파일 하기

    1. JNI 컴파일 하기 jni을 컴파일해서 실행 파일을 얻기 위해서는 여러 명령어를 섞어 써야한다.그래서 아예 script로 만들어 놓고 그때그때 수정하면서 사용하곤 한다. 2. Script 내용 #!/bin/bashjavac ThreadEx.java javah NativeClassexport LD_LIBRARY_PATH=.:$LD_LIBRARY_PATHgcc -I/usr/lib/jvm/jdk1.6.0_32/include/ -I /usr/lib/jvm/jdk1.6.0_32/include/linux/ -fPIC -c NativeClass.c#gcc -shared -o libThreadEx.so NativeClass.ogcc -shared -o libNativeClass.so NativeClass.ojav..

    jni는 객체 당 하나씩 생성되는 것일까??

    상황:class A 가 존재할 때,A a;A b;이 두개의 jni속의 int 값을 변화를 줄 때, 어떻게 변할까?? 갖고 있는 것 : A.java A.cpp class Good { static { System.loadLibrary("Good"); } native public Good get(); native public void setData(int data); native public int getData(); public void test() { System.out.println("GAOL!!!"); } } class GoodRun { public static void main(String[] args) { System.out.println("test start"); Good go1 = new Goo..

    jni에서 java 클래스 주소 return하기

    상황 ; jni에서 클래스에 해당하는 레퍼런스(객체)가 있는가?그러니깐, jni에서 return 받은 값으로 내가 예상하는(원하는) 객체로 캐스팅을 하여서바로 사용할 수 있닌지. Java:class Good; cpp:Good.cpp 결론은 가능하다.(jobject를 반환하면 된다.) class Good { static { System.loadLibrary("Good"); } native public Good get(); public void test() { System.out.println("GAOL!!!"); } } class GoodRun { public static void main(String[] args) { System.out.println("test start"); Good go = new ..