3
System.load() API 호출을 사용하여 응용 프로그램에로드되는 DLL을 언로드하는 방법이 있습니까?System.load (dll 경로)에 의해로드 된 dll을 언로드하는 방법
System.load() API 호출을 사용하여 응용 프로그램에로드되는 DLL을 언로드하는 방법이 있습니까?System.load (dll 경로)에 의해로드 된 dll을 언로드하는 방법
dll을로드하려면 별도의 ClassLoader을 사용해야합니다. dll은로드 된 ClassLoader에만 바인딩됩니다. ClassLoader가 더 이상 사용되지 않으면 (ClassLoader에 대한 참조가 없다는 의미입니다) 가비지 수집기는 ClassLoader를 해제하고 dll을 언로드합니다.
가장 쉬운 방법입니다. 또한 JNI 코드 내에서 실제로드를 수행하는 스텁 라이브러리를 사용하여 명시 적으로 언로드를 제어했습니다. – Petesh
@ 페티쉬 좀 더 자세하게 설명해 주시겠습니까? 언로드 부분을 정확히 처리하는 방법은? –
@KamalJoshi 여기에 코드 예제가 나와 있습니다. https://web.archive.org/web/20140704120535/http://www.codethesis.com/blog/unload-java-jni-dll – digz6666