0
我正在創建JNA映射到OpenMAX C庫。一路走來,我也學習C.我遇到了一個結構,我不確定如何映射到,並且我一直無法找到任何資源來幫助。使用函數指針爲C結構創建JNA映射
下面是從結構的一個片段
typedef struct OMX_COMPONENTTYPE {
OMX_VERSIONTYPE nVersion;
OMX_ERRORTYPE (*SetParameter)(
OMX_HANDLETYPE hComponent,
OMX_INDEXTYPE nIndex,
OMX_PTR pComponentParameterStructure);
...
「n版本」是一個正常的構件和在Java是容易可映射。
我的問題是功能指針SetParameter。 (我認爲就是這樣)
在Java中,結構體映射到jna.Structure類的子體。因爲這是一個類(不是接口),所以我不能定義一個沒有主體的方法頭,這是我如何映射方法的方法。
有誰知道這個映射應該是什麼樣子?
由於
我一直在試圖弄清楚這一點對我的使用實例。我遇到了[這個文檔](https://jna.java.net/nonav/javadoc/overview-summary.html#callbacks),它看起來像你寫了很多個月前。希望你可以在「lib.init(funcs)」這行上說明一些事情。「本文檔中沒有其他地方定義了「lib」,並且我無法在JNA類中的任何位置找到init(對象)方法。 – Lowell
這只是「調用初始化數據的本地庫函數」的一個存根。如果您調用填充結構的本地函數,那麼在函數返回時,回調字段將被正確設置。 – technomage