자바 코드에서 정적 윈도우 라이브러리 (*.lib
)를 사용해야하는데, C++ JNI 래퍼를 쓸 수는 있습니다. C++에서 경험 한).최소한의 노력으로 Java 코드의 Windows 정적 라이브러리를 사용하십시오. (아마도 JNA를 사용합니다.)
가장 쉬운 (최소 개발 노력) 방법은 성능을 중요시하지 않는 것입니다. 그 코드는 단지 일부 데이터를 가져 오기 때문에 Java 측에서 가장 잘 수행 될 것입니다.
아마도 대부분 JNA을 사용할 것이지만 AFAIK에는 동적 라이브러리가 필요하며 정적 라이브러리가 필요합니다.
또한 asked question 정적 라이브러리를 동적 라이브러리로 변환 할 때.
예 내가 할 수 :-) JNA를 사용하지만, 난 아주 많이 자바에서 directrly 전체 물건을 호출 선호하는 것입니다. . . 더 빨리 실험 할 수있게 해줄 것입니다. 내가 사용하는 라이브러리는 수백 가지 기능이 혼란 스럽기 때문에 전체 래퍼를 작성하는 것은 옵션이 아니며 조금씩 수행하는 것도 고통이 될 것입니다. –
JNI를 제안하지 않으므로 래퍼에 복잡한 내용을 쓸 필요가 없습니다. 실제로는 헤더의 모든 함수에 _declspec (dllexport)라는 접두사를 붙이고 (간단히 편집기의 search-replace로 수행 할 수 있음) DLL 프로젝트로 빌드 한 다음 DLL을 제공해야합니다. – Francis
감사합니다. –