Java와 C언어(WinAPI, win32) 연결
//======================================
* JNI(Java Native Interface)
http://codens.info/1028
//======================================
* JNA (Java Native Access)
- 안드로이드 Dalvik VM 에서 지원 안함
- C++ 지원 안함, C만 지원
- JNA 설치
- jna.jar 다운로드 : https://github.com/twall/jna
- jna.jar 복사
- 방법 1 : 환경변수 CLASSPATH 의 경로에 복사
- 방법 2 : "IntelliJ IDEA"의 경우 File -> Project Structure -> Platform Setting -> Global Libraries : 경로추가
- 방법 3 : 컴파일시 지정 javac.exe -classpath JNA.jar경로 ABC.java
- JNA 예제
//=================================
//JNA1.java
import com.sun.jna.Library;
import com.sun.jna.Native;
//http://en.wikipedia.org/wiki/Java_Native_Access
public class JNA1 {
public interface Kernel32 extends Library {
// FREQUENCY is expressed in hertz and ranges from 37 to 32767
// DURATION is expressed in milliseconds
public boolean Beep(int FREQUENCY, int DURATION);
public void Sleep(int DURATION);
}
public static void main(String[] args) {
Kernel32 lib = (Kernel32) Native.loadLibrary("kernel32", Kernel32.class);
lib.Beep(698, 500); lib.Sleep(500); lib.Beep(698, 500);
}
}
- 컴파일
> "javac.exe" -classpath "jna.jar" -encoding UTF-8 JNA1.java
//==================================================
* SWIG ( Simplified Wrapper and Interface Generator )
http://swig.org/
- C ( C++ ) 코드들을 Perl, Python, Tcl, Ruby, Java 등에서 사용가능하도록 만듬
- JNI를 좀 더 쉽게 사용할 수 있도록 해주는 도구
- C/C++ 인터페이스를 정의한 파일을 입력 받아 C/C++ JNI wrapper 코드를 생성
- Dalvik VM과는 호환성 문제가 존재
//===================================================
* BridJ
- 안드로이드 지원
https://code.google.com/p/bridj/
'Code > Desktop' 카테고리의 다른 글
윈도우 10 에 Visual Studio 6 설치 방법 (9) | 2015.05.13 |
---|---|
Windows 8.1 , Visual Studio 2013 버전별 기능 비교(다운로드) (1) | 2015.05.01 |
Visual studio 6 file 확장자별 기능 (0) | 2014.11.01 |
탭콘트롤 사용법 (0) | 2014.09.27 |
Visual Studio 2013 (VC 12) 설치 설정 (0) | 2014.09.14 |