当成员名是java保留关键字时,有没有办法映射方法名,成员变量,结构数据等?我正在为第三方C库创建一个JNA包装器,其源代码我无法修改。一个简化的例子就是:
// 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),但没有找到任何相关内容。
答案 0 :(得分:3)
Structure
字段名称是任意的,只要它们是唯一的,正确键入的,并且按正确的顺序,信息将是相同的。我建议至少使它们与原作相似,但是class_
或klass
会起作用。
您可以使用FunctionMapper
重新映射函数名称。