2009-07-04 7 views

답변

4

Java Native Interface을 사용하면 C++과 Java 사이의 모든 것을 전달할 수 있습니다.

+0

및 java에서 C++는 무엇입니까? – Partial

+1

JNI 양방향을 지원합니다. 까다로울 수 있고 더 나은 해결책이있을 수 있지만 JNI에 대해 조금 읽으면 많은 질문에 답할 수 있으며 일반적으로 유용한 지식입니다. – Duck

+3

JNA는 현재 약간 높은 수준의 Java- 기본 인터페이스로 알려져 있습니다. –

1

g ++를 사용하는 경우 CNI도 확인하십시오. JNI가 같은 방법인지는 모르지만 기본적으로 C++을 사용하여 JVM 내에서 작성합니다. 즉, 순수 C++ 객체를 Java에 전달할 수 없습니다. 대신 모든 것이 Object에서 파생되어야합니다.

+0

"객체에서 파생"이란 무엇을 의미합니까? – Partial

2

나는 Swig 자신을 선호합니다. 그것은 당신이 원하는 모든 방향, 멀티 스레딩, 등 자바, 파이썬, 펄 등을 포함한 여러 언어로 작동하도록 전화를 허용하는 JNI 포장 않습니다 ...

Swig도 귀하의 C + + 코드로 휴대용입니다 - Linux와 Windows에서 직접 사용하여 C++ 코드를 Java 및 Python과 연결합니다.