JNative用法注意事項

2022-09-17 07:09:12 字數 1221 閱讀 6886

公司要做個跟裝置打交道的web系統,需要j**a呼叫dll。搞j**a的同事說jnative看起來挺好使的,找俺幫忙調通。用的是1.3.1版本

環境設定。

jnative的除錯資訊需要開啟才能更清楚些,要不總是說沒載入庫,跟沒說一樣。

system.setproperty("jnative.debug", "true");

如果除錯資訊裡有system.loadlibrary(),說明沒有載入jnativecpp.dll,指定全路徑即可,雙斜槓哦。

system.setproperty("jnative.loadnative", "d:\\test\\jnativecpp.dll");

lib庫路徑問題

lib庫名稱問題

無論linux還是windows在jnative的建構函式中的lib庫名字為庫全名,包括副檔名dll、so,而且so需要包括前面的『lib』,貌似與網上說的不太一樣。

資源釋放問題

有些裝置需要先初始化在操作,最後釋放,所有功能都分散在不同函式中,jnative需要有個靜態的例項,每次建立呼叫函式時lib庫依舊是載入的。

順便吐槽下公司部署前2天才通知說在linux下部署,可憐我這linux、j**a雙小白。。。。。。

公司要做個跟裝置打交道的web系統,需要j**a呼叫dll。搞j**a的同事說jnative看起來挺好使的,找俺幫忙調通。用的是1.3.1版本

環境設定。

jnative的除錯資訊需要開啟才能更清楚些,要不總是說沒載入庫,跟沒說一樣。

system.setproperty("jnative.debug", "true");

如果除錯資訊裡有system.loadlibrary(),說明沒有載入jnativecpp.dll,指定全路徑即可,雙斜槓哦。

system.setproperty("jnative.loadnative", "d:\\test\\jnativecpp.dll");

lib庫路徑問題

lib庫名稱問題

無論linux還是windows在jnative的建構函式中的lib庫名字為庫全名,包括副檔名dll、so,而且so需要包括前面的『lib』,貌似與網上說的不太一樣。

資源釋放問題

有些裝置需要先初始化在操作,最後釋放,所有功能都分散在不同函式中,jnative需要有個靜態的例項,每次建立呼叫函式時lib庫依舊是載入的。

順便吐槽下公司部署前2天才通知說在linux下部署,可憐我這linux、j**a雙小白。。。。。。

linq list select用法注意事項

下面是我自己做的乙個例子 listordlist new list var b ordlist.where o o.trackingno aa tolist var aa ordlist.select o o.trackingno aa tolist var c ordlist.select o o...

assert 用法及注意事項

assert 用法及注意事項 assert功能是測試乙個條件並可能是程式終止。它首先測試條件,如果為假,則呼叫abort使程式退出。注意事項 1 在函式開始前,檢查引數的合法性 2 每個assert只檢驗乙個條件,因為同時檢查多個條件時,如果測試失敗,就不能斷言是由那個條件失敗引起的 3 不能改變環...

OpenCV Mat ones 用法及注意事項

今天在用函式ones時,發現多維矩陣有乙個問題需要特別注意,記錄如下 注意 對於單通道的矩陣,所有元素為1。但是對於多維矩陣 即多通道型別 只有第乙個通道的元素被設定為1,其他維度的矩陣元素全為0。static matexpr cv mat ones int rows,int cols,int ty...