3
對不起,這可能是一個基本問題。 JNA直接映射和接口映射有什麼區別?JNA直接vs接口映射?
是我的理解是否正確:
直接映射:直接使用庫對象(像Java靜態主)
接口映射:創建intance的庫對象。
在此先感謝!
對不起,這可能是一個基本問題。 JNA直接映射和接口映射有什麼區別?JNA直接vs接口映射?
是我的理解是否正確:
直接映射:直接使用庫對象(像Java靜態主)
接口映射:創建intance的庫對象。
在此先感謝!
直接映射直接將您的Java方法(用native
修飾符聲明)綁定到試圖按原樣使用調用堆棧的本機代碼。如果限制函數參數並將值返回原始類型(直接映射最有效)(Pointer
類型可能被認爲是原始類型)。
接口映射使用Proxy
並將Java函數簽名動態地轉換爲通用本機入口點,並帶有一系列必須隨後被轉換爲本地原語的參數列表。它更加靈活w/r/t將Java類型轉換爲本地類型,但是由於參數的運行時轉換,速度會更慢。