簡體   English   中英

如何通過Java中的代碼加載第三方庫(如X11庫)?

[英]How to load third party libraries (like X11 libs) through code in Java?

每當JVM啟動時,即運行java命令時; 它在/ java / jre / lib文件夾中查找其他庫。 這些庫與第三方庫(如X11庫)一起由系統的動態加載程序(如HP Unix中的dld.so)加載到內存中。

那么有可能從Java中的代碼加載第三方庫嗎? 如果是,會有什么副作用?

您正在尋找的是Java本機接口( JNI )。 使用外部本機庫會使代碼的可移植性降低。 由於沒有Java語言的保證,因此這會使您的代碼不穩定。 由於您的應用程序需要權限才能加載庫,因此可能涉及安全管理器。 以我的經驗,編寫好的JNI代碼有很多困難。 特別是重新分配和調試。

SWIG可能會自動生成必要的JNI代碼。

本機庫隨System/Runtime.loadLibrary一起加載。 然后,您將需要一些代碼來在庫本機調用和JNI(Java本機接口)之間進行轉換。 然后,您將需要一些Java代碼,這些Java代碼具有定義為調用轉換代碼的本機方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM