C等价的Java JNA代码示例

  • 本文关键字:代码 JNA Java java jna
  • 更新时间 :
  • 英文 :


我有一个这样的代码-

文件:input.h

    struct Address{
       int a;
       int b;
    };
    void func(struct Address *a);    

等效的JNAJava代码是什么?

在一个接口中简单地像这样从抽象的Library或(如果您使用的是Windows)特定于平台的com.sun.jna.win32.StdCallLibrary:扩展

public interface MyLibrary extends Library {
    /**
     * Native library instance.
     */
    MyLibrary INSTANCE = (MyLibrary)Native.loadLibrary("MyLibrary", MyLibrary.class);
    /**
    struct Address{
       int a;
       int b;
    };      
    */
    public class Address extends Structure {
        public int    a;
        public int    b;
        public static class ByReference extends Address implements Structure.ByReference {
        };
        public static class ByValue extends Address implements Structure.ByValue {
        };        
    }; 
    /**
      void func(struct Address *a); 
    */
    void func(Address a);
}

最新更新