3

当成员名称是 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 版),但没有找到任何相关内容。

4

1 回答 1

3

Structure字段名称是任意的,只要它们是唯一的、正确键入的并且以正确的顺序,信息将是相同的。不过,我建议至少让它们与原版相似(class_或者klass会起作用)。

您可以使用 重新映射函数名称FunctionMapper

于 2014-07-16T14:48:40.013 回答