1. java 로 DLL 의 프로토타입 생성

package jnitest.loader;

public class JNILoader {
 public native void greet();
 
 /*
 static {
  System.loadLibrary("HardInfo");
 }
 */
 
 public void loadLibrary() {
  System.loadLibrary("HardInfo");
 }
}

2. javah -jni <위 1번의 class 이름> 해서, C 언어용 헤더파일 생성

3. 위 헤더파일을 CPP 에서 include 하고, JDK 의 include 디렉토리를 Include Path 로 잡아서
cpp 컴파일 진행

4, 만들어진 DLL 이나 so 를 적정 디렉토리에 위치함

5. -Djava.library.path=<dll 패스> 하여 추가하더나, PATH 에 해당 디렉토리 잡히거나, Windows 디렉토리에 넣는다

6. 위 1 예제의 객체를 생성하고, 위의 경우, loadLibrary() 호출하고 (아니면 아예 static{ } 블록에서 System.loadLibrary 사용) JNI 를 사용한다

반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,