【问题标题】:JNA and Java Language KeywordsJNA 和 Java 语言关键字
【发布时间】:2014-07-16 12:02:45
【问题描述】:

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

【问题讨论】:

    标签: java mapping keyword jna reserved


    【解决方案1】:

    Structure 字段名称是任意的,只要它们是唯一的、正确键入且顺序正确,信息将是相同的。不过,我建议至少让它们与原版相似(class_klass 都可以)。

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

    【讨论】:

      猜你喜欢
      • 2014-10-26
      • 2018-01-08
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      相关资源
      最近更新 更多