Я пытаюсь разгрузить DLL в Java. Я прочитал это и это , но кажется, что вы не можете гарантировать, что DLL будет действительно выгружен в определенное время. Это потому, что System.gc () просто «просит» запустить сборщик мусора.
Итак, вот ситуация. У меня есть DLL, которая обеспечивает некоторые функции через JNI. Позволяет называть это DLL MainDll. MainDll загружается из вызова System.load («MainDll»). Мне нужно иметь возможность выгрузить и загрузить эту DLL на лету.
Можно ли создать еще одну DLL, единственная цель которой - загрузить и выгрузить MainDll. Позволяет называть это DLL LoaderDll. Затем я мог бы просто вызвать System.load («LoaderDll») и получить некоторые встроенные функции для загрузки и выгрузки MainDll. Причина для этого, у меня есть доступ к функциям на родной системе, которые могут загружать и выгружать DLL на лету. Сложность в том, что я по-прежнему смогу получить доступ к собственным функциям, которые я написал в MainDll, если он загружен из LoaderDll.
Извините, если это запутанный вопрос. Кажется, это немного сложно объяснить.
Спасибо