2014-07-16 91 views
3

當成員名稱是java保留關鍵字時,是否有方法映射方法名稱,成員變量,結構數據等?我正在爲第三方C庫創建JNA包裝,其源代碼無法修改。一個簡單的例子是這樣的:JNA和Java語言關鍵字

// C-library 
typedef struct { 
    const char* name; 
} Class; 

typedef struct { 
    const Class *class 
} Context; 

所以此地圖JNA我有一個類

public static class Context extends Structure { 
    public Pointer class; // <-- compile error, reserved keyword 
} 

有沒有解決這個辦法嗎?我試着看JNA的來源(我使用的是3.2.2版本),但沒有找到任何相關的東西。

回答

3

Structure字段名稱是任意的,只要它們是唯一的,輸入正確,並且順序正確,信息將是相同的。儘管(class_klass將工作),我會建議至少使它們與原始類似。

您可以使用FunctionMapper重新映射函數名稱。