* JNI(Java Native Interface) 가 표준 인터페이스입니다. (C-->Java 또는 Java -->C)
결국 자바 VM도 하부구조에 있는 OS(Native Interface)와 인터페이스하기 위해 C/C++로 Native Interface를 만들어 놓고, 이를 Java Syntax로 wrapping하여 연계됩니다. (이 이유로 Java가 결코 C/C++보다 빨라지지 못하는 것이지요. 자바는 빠르기 보다는 다른 쪽의 관점을 가진 도구니 당연한 말이기도 합니다.)
이렇게 하면 Call Level 로 연동되며, 파라메터 파싱 방법론 등이 이슈가 됩니다.
키워드 : JNI, C, Java, Call
---------
socket, file, IPC 등과 같은 통신으로 연동하는 방법도 고려할 수 있습니다. 위 JNI보다는 보다 경결합(loosely coupled) 구조이지만, 확장성, 비의존성 등에서 유리해집니다.
c++에서 jvm을 생성(내장)하고 통신할 수 있습니다.
c++에서 자바의 class(jar) 를 사용할 수 없습니다.
그러나 c++에서 jvm을 생성(내장)하고 통신할 수 있습니다.
즉 jvm에서 class 를 수행하고 c++에서 결과를 받을 수 있다는 이야깁니다.
* JNI(Java Native Interface)
* JNI(Java Native Interface) 가 표준 인터페이스입니다. (C-->Java 또는 Java -->C)
결국 자바 VM도 하부구조에 있는 OS(Native Interface)와 인터페이스하기 위해 C/C++로 Native Interface를 만들어 놓고, 이를 Java Syntax로 wrapping하여 연계됩니다. (이 이유로 Java가 결코 C/C++보다 빨라지지 못하는 것이지요. 자바는 빠르기 보다는 다른 쪽의 관점을 가진 도구니 당연한 말이기도 합니다.)
이렇게 하면 Call Level 로 연동되며, 파라메터 파싱 방법론 등이 이슈가 됩니다.
키워드 : JNI, C, Java, Call
---------
socket, file, IPC 등과 같은 통신으로 연동하는 방법도 고려할 수 있습니다. 위 JNI보다는 보다 경결합(loosely coupled) 구조이지만, 확장성, 비의존성 등에서 유리해집니다.
예전에 구현한 예제소스입니다.
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=278&MAEULNO=20&no=32208&page=3
아마. 자바에서 C 함수호출'로 찾아보셔도. 여러가지 있을겁니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기