官方文档
初始化Pointer时的长度是使用的数组字节数的倍数

com.sun.jna

类指针

  • java.lang.Object
  • com.sun.jna.Pointer
  • 直接已知子类:

    功能,记忆


    公共类指针
    扩展Object
    本机指针数据类型的抽象。在Java方面,Pointer实例表示一个本机指针。本机指针可以是任何类型的本机指针。方法,例如write, readgetXXX,和setXXX,提供手段来访问存储器中的本地指针底层。

    虽然存在构造函数以根据整数值创建Pointer,但通常不是以这种方式创建指针是一个好主意。

    作者:

    盛亮,发起人,Todd Fast,适用性修改,Timothy Wall,强大的库加载

    也可以看看:

    Function

  • 方法总结

    所有方法静态方法实例方法具体方法不推荐使用的方法
    修饰符和类型 方法和说明
    void clear(long size)

    对于给定的字节数,内存为零。
    static Pointer createConstant(int peer)

    便利常数,等于(void*)CONSTANT
    static Pointer createConstant(long peer)

    便利常数,等于(void*)CONSTANT
    String dump(long offset, int size)

    转储内存以进行调试。
    boolean equals(Object o)

    将此Pointer与指定对象进行比较。
    byte getByte(long offset)

    间接将本机指针作为的指针byte
    byte[] getByteArray(long offset, int arraySize)

    从this中读取arraySize给定大小的本地字节数组。offsetPointer
    ByteBuffer getByteBuffer(long offset, long length)

    获取映射到指针指向的内存的ByteBuffer,确保缓冲区使用本机字节顺序。
    char getChar(long offset)

    间接将本机指针作为的指针wchar_t
    char[] getCharArray(long offset, int arraySize)

    从this中读取arraySize给定大小的wchar_t的本机数组。offsetPointer
    double getDouble(long offset)

    间接将本机指针作为的指针double
    double[] getDoubleArray(long offset, int arraySize)

    从this中读取arraySize给定大小的双精度数组。offsetPointer
    float getFloat(long offset)

    间接将本机指针作为的指针float
    float[] getFloatArray(long offset, int arraySize)

    从this中读取arraySize给定大小的本地float数组。offsetPointer
    int getInt(long offset)

    间接将本机指针作为的指针int
    int[] getIntArray(long offset, int arraySize)

    从this中读取arraySize给定的int32大小的本机数组。offsetPointer
    long getLong(long offset)

    间接将本机指针作为的指针long
    long[] getLongArray(long offset, int arraySize)

    从this中读取arraySize给定的int64大小的本机数组。offsetPointer
    NativeLong getNativeLong(long offset)

    间接将本机指针作为的指针long
    Pointer getPointer(long offset)

    间接将本机指针作为指向指针的指针。
    Pointer[] getPointerArray(long offset)

    返回的数组Pointer
    Pointer[] getPointerArray(long offset, int arraySize)

    返回Pointer所请求大小的数组。
    short getShort(long offset)

    间接将本机指针作为的指针short
    short[] getShortArray(long offset, int arraySize)

    从this中读取arraySize给定的int16大小的本机数组。offsetPointer
    String getString(long offset)

    将本机内存复制到Java字符串。
    String getString(long offset, boolean wide)

    不推荐使用。 

    使用getString(long,String)getWideString(long)代替。

    String getString(long offset, String encoding)

    使用请求的编码将本机内存复制到Java String。
    String[] getStringArray(long offset)

    String根据的原生数组返回的数组char *
    String[] getStringArray(long offset, boolean wide)

    不推荐使用。 

    使用getStringArray(long,String)getWideStringArray(long)代替。

    String[] getStringArray(long offset, int length)

    使用给定的数组长度,String基于的原始数组返回的数组char *
    String[] getStringArray(long offset, int length, boolean wide)

    不推荐使用。 

    使用getStringArray(long,int,String)getWideStringArray(long,int)代替。

    String[] getStringArray(long offset, int length, String encoding)

    返回的阵列String基于的天然阵列上char*wchar_t*基于所述 wide参数,使用给定的阵列长度。
    String[] getStringArray(long offset, String encoding)

    使用请求的编码,String基于的本地数组返回一个数组char *
    (package private) Object getValue(long offset, Class type, Object currentValue) 
    String getWideString(long offset)

    const wchar_t *从内存中读取一个宽()字符串。
    String[] getWideStringArray(long offset) 
    String[] getWideStringArray(long offset, int length) 
    int hashCode()

    返回此Pointer对象表示的本机指针的哈希码
    long indexOf(long offset, byte value)

    返回内存中给定值与给定偏移量之间的偏移量;如果未找到该值,则返回-1。
    static long nativeValue(Pointer p)

    读取本地对等值。
    static void nativeValue(Pointer p, long value)

    设置本地对等值。
    void read(long offset, byte[] buf, int index, int length)

    间接本地指针,复制存储器所指向的本机指针,到指定的数组。
    void read(long offset, char[] buf, int index, int length)

    间接本地指针,复制存储器所指向的本机指针,到指定的数组。
    void read(long offset, double[] buf, int index, int length)

    间接本地指针,复制存储器所指向的本机指针,到指定的数组。
    void read(long offset, float[] buf, int index, int length)

    间接本地指针,复制存储器所指向的本机指针,到指定的数组。
    void read(long offset, int[] buf, int index, int length)

    间接本地指针,复制存储器所指向的本机指针,到指定的数组。
    void read(long offset, long[] buf, int index, int length)

    间接本地指针,复制存储器所指向的本机指针,到指定的数组。
    void read(long offset, Pointer[] buf, int index, int length)

    间接本地指针,复制存储器所指向的本机指针,到指定的数组。
    void read(long offset, short[] buf, int index, int length)

    间接本地指针,复制存储器所指向的本机指针,到指定的数组。
    void setByte(long offset, byte value)

    设置value在要指向的位置。
    void setChar(long offset, char value)

    设置value在要指向的位置。
    void setDouble(long offset, double value)

    设置value在要指向的位置。
    void setFloat(long offset, float value)

    设置value在要指向的位置。
    void setInt(long offset, int value)

    设置value在要指向的位置。
    void setLong(long offset, long value)

    设置value在要指向的位置。
    void setMemory(long offset, long length, byte value)

    写入value请求的内存库。
    void setNativeLong(long offset, NativeLong value)

    设置value在要指向的位置。
    void setPointer(long offset, Pointer value)

    设置value在要指向的位置。
    void setShort(long offset, short value)

    设置value在要指向的位置。
    void setString(long offset, String value)

    value使用指示的编码,将字符串中的字节复制到指向的位置Native.getDefaultStringEncoding()
    void setString(long offset, String value, boolean wide)

    不推荐使用。 

    使用setWideString(long,String)代替。

    void setString(long offset, String value, String encoding)

    value使用请求的编码将字符串复制到指向的位置。
    void setString(long offset, WString value)

    将字符串复制value到指向宽字符串(wchar_t*)的位置。
    (package private) void setValue(long offset, Object value, Class type) 
    void setWideString(long offset, String value)

    将字符串复制value到指向宽字符串(wchar_t*)的位置。
    Pointer share(long offset)

    使用给定的偏移量提供此存储器的视图,以计算新的基址。
    Pointer share(long offset, long sz)

    使用给定的偏移量提供此内存的视图以计算新的基地址,以给定的大小限制内存。
    String toString() 
    void write(long offset, byte[] buf, int index, int length)

    从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。
    void write(long offset, char[] buf, int index, int length)

    从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。
    void write(long offset, double[] buf, int index, int length)

    从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。
    void write(long offset, float[] buf, int index, int length)

    从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。
    void write(long offset, int[] buf, int index, int length)

    从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。
    void write(long offset, long[] buf, int index, int length)

    从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。
    void write(long bOff, Pointer[] buf, int index, int length)

    将给定的Pointer数组写入本地内存。
    void write(long offset, short[] buf, int index, int length)

    从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。
    • 从类java.lang继承的方法。目的

      clone, finalize, getClass, notify, notifyAll, wait, wait, wait

  • 构造器摘要

    建设者
    构造函数和描述
    Pointer()

    派生类必须分配对等指针值。
    Pointer(long peer)

    从本机指针创建。
  • 领域摘要

    领域
    修饰符和类型 栏位及说明
    static Pointer NULL

    便利常数,与相同null
    protected long peer

    真正的本机指针的指针值。
    static int SIZE

    本机指针的大小,以字节为单位。
  • 方法细节

    • createConstant

      公共静态最终 指针 createConstant(长同级)
      便利常数,等于(void*)CONSTANT
    • createConstant

      公共静态最终 指针 createConstant(int peer)
      便利常数,等于(void*)CONSTANT。此版本将避免在64位系统上设置任何高位。
    • 分享

      公共 指针 共享(长偏移量)
      使用给定的偏移量提供此存储器的视图,以计算新的基址。
    • 分享

      公共 指针 共享(长偏移量,长sz)
      使用给定的偏移量提供此内存的视图以计算新的基地址,以给定的大小限制内存。
    • 清除

      公共空隙清晰(长尺寸)
      对于给定的字节数,内存为零。
    • 等于

      public boolean equals(Object  o)
      将此Pointer与指定对象进行比较。

      覆写:

      equals 在班上 Object

      参数:

      o-一个Pointer实例

      返回值:

      如果另一个对象是a Pointer,则为true ,并且这些对象所指向的C指针也相等。否则返回false。

    • hashCode

      public int hashCode()
      返回此Pointer对象表示的本机指针的哈希码

      覆写:

      hashCode 在班上 Object

      返回值:

      所表示的本机指针的哈希码值

    • 指数

      公共long indexOf(长偏移量,字节值)
      返回内存中给定值与给定偏移量之间的偏移量;如果未找到该值,则返回-1。
    • 公共无效读取(长偏移量,字节[] buf,整数索引,整数长度)
      间接本地指针,复制存储器所指向的本机指针,到指定的数组。

      参数:

      offset -从数据复制到的指针的字节偏移

      buf-byte将数据复制到的数组

      index -从其开始复制的数组索引

      length -必须复制的本机指针中的元素数

    • 公共无效读取(长偏移量,short [] buf,int索引,int长度)
      间接本地指针,复制存储器所指向的本机指针,到指定的数组。

      参数:

      offset -从要复制数据的指针的字节偏移

      buf-short将数据复制到的数组

      index -将数据复制到的数组索引

      length -必须复制的本机指针中的元素数

    • 公共无效读取(长偏移量,char [] buf,int索引,int长度)
      间接本地指针,复制存储器所指向的本机指针,到指定的数组。

      参数:

      offset -从要复制数据的指针的字节偏移

      buf-char将数据复制到的数组

      index -将数据复制到的数组索引

      length -必须复制的本机指针中的元素数

    • 公共无效读取(长偏移量,int [] buf,int索引,int长度)
      间接本地指针,复制存储器所指向的本机指针,到指定的数组。

      参数:

      offset -从要复制数据的指针的字节偏移

      buf-int将数据复制到的数组

      index -将数据复制到的数组索引

      length -必须复制的本机指针中的元素数

    • 公共无效读取(长偏移量,长[] buf,整数索引,整数长度)
      间接本地指针,复制存储器所指向的本机指针,到指定的数组。

      参数:

      offset -从要复制数据的指针的字节偏移

      buf-long将数据复制到的数组

      index -将数据复制到的数组索引

      length -必须复制的本机指针中的元素数

    • 公共无效读取(长偏移量,float [],buf,int索引,int长度)
      间接本地指针,复制存储器所指向的本机指针,到指定的数组。

      参数:

      offset -从要复制数据的指针的字节偏移

      buf-float将数据复制到的数组

      index -将数据复制到的数组索引

      length -必须复制的本机指针中的元素数

    • 公共无效读取(长偏移量,double [] buf,int索引,int长度)
      间接本地指针,复制存储器所指向的本机指针,到指定的数组。

      参数:

      offset -从要复制数据的指针的字节偏移

      buf-double将数据复制到的数组

      index -将数据复制到的数组索引

      length -必须复制的本机指针中的元素数

    • 公共无效读取(长偏移量,指针[],buf,int索引,int长度)
      间接本地指针,复制存储器所指向的本机指针,到指定的数组。

      参数:

      offset -从要复制数据的指针的字节偏移

      buf-Pointer将数据复制到的数组

      index -将数据复制到的数组索引

      length -必须复制的本机指针中的元素数

    • 公共无效写入(长偏移量,字节[] buf,整数索引,整数长度)
      从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。

      参数:

      offset -从数据复制到的指针的字节偏移

      buf-byte从中复制的数组

      index -从其开始复制的数组索引

      length-buf必须复制其中的元素数量

    • 公共无效写入(长偏移量,short [] buf,int索引,int长度)
      从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。

      参数:

      offset -从数据复制到的指针的字节偏移

      buf-short从中复制的数组

      index -从其开始复制的数组索引

      length-buf必须复制其中的元素数量

    • 公共无效写入(长偏移量,char [] buf,int索引,int长度)
      从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。

      参数:

      offset -从数据复制到的指针的字节偏移

      buf-char从中复制的数组

      index -从其开始复制的数组索引

      length-buf必须复制其中的元素数量

    • 公共无效写入(长偏移量,int [] buf,int索引,int长度)
      从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。

      参数:

      offset -从数据复制到的指针的字节偏移

      buf-int从中复制的数组

      index -从其开始复制的数组索引

      length-buf必须复制其中的元素数量

    • 公共无效写入(长偏移量,长[]错误,整数索引,整数长度)
      从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。

      参数:

      offset -从数据复制到的指针的字节偏移

      buf-long从中复制的数组

      index -从其开始复制的数组索引

      length-buf必须复制其中的元素数量

    • 公共无效写入(长偏移量,float [],buf,int索引,int长度)
      从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。

      参数:

      offset -从数据复制到的指针的字节偏移

      buf-float从中复制的数组

      index -从其开始复制的数组索引

      length-buf必须复制其中的元素数量

    • 公共无效写入(长偏移量,double [] buf,int索引,int长度)
      从指定数组间接复制本机指针,并将其复制本机指针指向的内存中。

      参数:

      offset -从数据复制到的指针的字节偏移

      buf-double从中复制的数组

      index -从其开始复制的数组索引

      length-buf必须复制其中的元素数量

    • 公共无效写入(长bOff,指针[],buf,int索引,int长度)
      将给定的Pointer数组写入本地内存。

      参数:

      bOff -从数据复制到的指针的字节偏移

      buf-Pointer从中复制的数组

      index -从其开始复制的数组索引

      length-buf必须复制其中的元素数量

    • getValue

      对象 getValue(长偏移量,类 类型,对象 currentValue)
    • getByte

      公共字节getByte(长偏移量)
      间接将本机指针作为的指针byte。这等效于表达式 *((jbyte *)((char *)Pointer + offset))

      参数:

      offset -从指针偏移以执行间接

      返回值:

      byte所指向的值

    • getChar

      公共字符getChar(长偏移量)
      间接将本机指针作为的指针wchar_t。这等效于表达式 *((wchar_t*)((char *)Pointer + offset))

      参数:

      offset -从指针偏移以执行间接

      返回值:

      wchar_t所指向的值

    • getShort

      公共短getShort(长偏移量)
      间接将本机指针作为的指针short。这等效于表达式 *((jshort *)((char *)Pointer + offset))

      参数:

      offset -从指针开始执行间接寻址的字节偏移量

      返回值:

      short所指向的值

    • getInt

      public int getInt(长偏移量)
      间接将本机指针作为的指针int。这等效于表达式 *((jint *)((char *)Pointer + offset))

      参数:

      offset -从指针开始执行间接寻址的字节偏移量

      返回值:

      int所指向的值

    • getLong

      公共long getLong(长偏移量)
      间接将本机指针作为的指针long。这等效于表达式 *((jlong *)((char *)Pointer + offset))

      参数:

      offset -从指针开始执行间接寻址的字节偏移量

      返回值:

      long所指向的值

    • getNativeLong

      public  NativeLong  getNativeLong(长偏移量)
      间接将本机指针作为的指针long。这等效于表达式 *((long *)((char *)Pointer + offset))

      参数:

      offset -从指针开始执行间接寻址的字节偏移量

      返回值:

      long所指向的值

    • getFloat

      public float getFloat(长偏移量)
      间接将本机指针作为的指针float。这等效于表达式 *((jfloat *)((char *)Pointer + offset))

      参数:

      offset -从指针开始执行间接寻址的字节偏移量

      返回值:

      float所指向的值

    • getDouble

      public double getDouble(长偏移量)
      间接将本机指针作为的指针double。这等效于表达式 *((jdouble *)((char *)Pointer + offset))

      参数:

      offset -从指针开始执行间接寻址的字节偏移量

      返回值:

      double所指向的值

    • getPointer

      公共 指针 getPointer(长偏移量)
      间接将本机指针作为指向指针的指针。这等效于表达式 *((void **)((char *)Pointer + offset))

      参数:

      offset -从指针开始执行间接寻址的字节偏移量

      返回值:

      一个Pointer指针值的等效被指向的,或者null如果该指针值是 NULL;

    • getByteBuffer

      公共 ByteBuffer  getByteBuffer(长偏移量,长长度)
      获取映射到指针指向的内存的ByteBuffer,确保缓冲区使用本机字节顺序。

      参数:

      offset -从指针开始启动缓冲区的字节偏移

      length -ByteBuffer的长度

      返回值:

      直接ByteBuffer用来访问所指向的内存,

    • getString

      公共 字符串 getString(长偏移量,布尔值宽)
      不推荐使用。 使用getString(long,String)getWideString(long)代替。
      将本机内存复制到Java字符串。如果wide为true,则使用默认平台编码将内存作为数组访问wchar_t,否则以数组访问内存char

      参数:

      offset -从指针获得的字节偏移,以获取本地字符串v * @param width,是从宽字符串还是标准C字符串转换

      返回值:

      String所指向的值

    • getWideString

      公共 字符串 getWideString(长偏移量)
      const wchar_t *从内存中读取一个宽()字符串。
    • getString

      公共 字符串 getString(长偏移量)
      将本机内存复制到Java字符串。所使用的编码是从获得的Native.getDefaultStringEncoding()

      参数:

      offset -从指针到开始读取字节的字节偏移

      返回值:

      String所指向的值

    • getString

      公共 字符串 getString(长偏移量,字符串 编码)
      使用请求的编码将本机内存复制到Java String。

      参数:

      offset -从指针获得本地字符串的字节偏移

      encoding -所需的编码

      返回值:

      String所指向的值

    • getByteArray

      public byte [] getByteArray(long offset,int arraySize )
      从this中读取arraySize给定大小的本地字节数组。offsetPointer
    • getCharArray

      公共char [] getCharArray(long offset,int arraySize )
      从this中读取arraySize给定大小的wchar_t的本机数组。offsetPointer
    • getShortArray

      public short [] getShortArray(long offset,int arraySize)
      从this中读取arraySize给定的int16大小的本机数组。offsetPointer
    • getIntArray

      public int [] getIntArray(long offset,int arraySize )
      从this中读取arraySize给定的int32大小的本机数组。offsetPointer
    • getLongArray

      public long [] getLongArray(long offset,int arraySize )
      从this中读取arraySize给定的int64大小的本机数组。offsetPointer
    • getFloatArray

      public float [] getFloatArray(long offset,int arraySize)
      从this中读取arraySize给定大小的本地float数组。offsetPointer
    • getDoubleArray

      public double [] getDoubleArray(long offset,int arraySize)
      从this中读取arraySize给定大小的双精度数组。offsetPointer
    • getPointerArray

      公共 指针[] getPointerArray(长偏移量)
      返回的数组Pointer。数组长度由NULL值的终止元素确定。
    • getPointerArray

      公共 指针[] getPointerArray(long offset,int arraySize)
      返回Pointer所请求大小的数组。
    • getStringArray

      公共 字符串[] getStringArray(长偏移量)

      String根据的原生数组返回的数组char *。数组长度由NULL值的终止元素确定。

      使用返回的编码对字符串进行解码Native.getDefaultStringEncoding()

    • getStringArray

      public  String [] getStringArray(长偏移量,字符串 编码)
      使用请求的编码,String基于的本地数组返回一个数组char *。数组长度由NULL值的终止元素确定。
    • getStringArray

      公共 字符串[] getStringArray(long offset,int length)

      使用给定的数组长度,String基于的原始数组返回的数组char *

      使用返回的编码对字符串进行解码Native.getDefaultStringEncoding()

    • getStringArray

      public  String [] getStringArray(long offset,boolean width)
      不推荐使用。 使用getStringArray(long,String)getWideStringArray(long)代替。
      返回String基于char*wchar_t*基于 wide参数的本机数组的数组。数组长度由NULL值的终止元素确定。
    • getWideStringArray

      公共 字符串[] getWideStringArray(长偏移量)
    • getWideStringArray

      公共 字符串[] getWideStringArray(长偏移量,整数长度)
    • getStringArray

      public  String [] getStringArray(长偏移量,整数长度,布尔值宽)
      不推荐使用。 使用getStringArray(long,int,String)getWideStringArray(long,int)代替。
      返回的阵列String基于的天然阵列上char*wchar_t*基于所述 wide参数,使用给定的阵列长度。
    • getStringArray

      public  String [] getStringArray(长偏移量,整数长度,字符串 编码)
      返回的阵列String基于的天然阵列上char*wchar_t*基于所述 wide参数,使用给定的阵列长度。

      参数:

      offset --

      length --

      encoding --

    • 设定值

      void setValue(长偏移量,对象 值,类 类型)
    • setMemory

      公共无效setMemory(长偏移量,长长度,字节值)
      写入value请求的内存库。

      参数:

      offset -从指针到开始的字节偏移

      length -要写入的字节数

      value -要写的值

    • setByte

      公共无效setByte(长偏移量,字节值)
      设置value在要指向的位置。这等效于表达式 *((jbyte *)((char *)Pointer + offset)) = value

      参数:

      offset-value 必须设置的指针的字节偏移量

      value-byte要设置的值

    • setShort

      公共无效setShort(长偏移量,短值)
      设置value在要指向的位置。这等效于表达式 *((jshort *)((char *)Pointer + offset)) = value

      参数:

      offset-value 必须设置的指针的字节偏移量

      value-short要设置的值

    • setChar

      公共无效setChar(长偏移量,char值)
      设置value在要指向的位置。这等效于表达式 *((wchar_t *)((char *)Pointer + offset)) = value

      参数:

      offset-value 必须设置的指针的字节偏移量

      value-char要设置的值

    • setInt

      公共无效setInt(长偏移量,int值)
      设置value在要指向的位置。这等效于表达式 *((jint *)((char *)Pointer + offset)) = value

      参数:

      offset-value 必须设置的指针的字节偏移量

      value-int要设置的值

    • setLong

      public void setLong(长偏移量,长值)
      设置value在要指向的位置。这等效于表达式 *((jlong *)((char *)Pointer + offset)) = value

      参数:

      offset-value 必须设置的指针的字节偏移量

      value-long要设置的值

    • setNativeLong

      public void setNativeLong(长偏移量,NativeLong 值)
      设置value在要指向的位置。这等效于表达式 *((long *)((char *)Pointer + offset)) = value

      参数:

      offset-value 必须设置的指针的字节偏移量

      value-long要设置的值

    • setFloat

      公共无效setFloat(长偏移量,浮点值)
      设置value在要指向的位置。这等效于表达式 *((jfloat *)((char *)Pointer + offset)) = value

      参数:

      offset-value 必须设置的指针的字节偏移量

      value-float要设置的值

    • setDouble

      public void setDouble(长偏移量,双精度值)
      设置value在要指向的位置。这等效于表达式 *((jdouble *)((char *)Pointer + offset)) = value

      参数:

      offset-value 必须设置的指针的字节偏移量

      value-double要设置的值

    • setPointer

      公共无效setPointer(长偏移量,指针 值)
      设置value在要指向的位置。这等效于表达式 *((void **)((char *)Pointer + offset)) = value

      参数:

      offset-value 必须设置的指针的字节偏移量

      value-Pointer保留要设置的实际指针值,这可能null表示一个NULL 指针。

    • setString

      public void setString(长偏移量,字符串 值,布尔值宽)
      不推荐使用。 使用setWideString(long,String)代替。
      将字符串复制value到所指向的位置。

      参数:

      offset-与value必须设置字符的指针的字节偏移

      value-java.lang.String要设置的值

      wide-是否将本机字符串写为的数组 wchar_t。如果为false,则char使用表示的编码编写为NUL终止的数组 Native.getDefaultStringEncoding()

    • setWideString

      公共无效setWideString(长偏移量,字符串 值)
      将字符串复制value到指向宽字符串(wchar_t*)的位置。

      参数:

      offset-与value必须设置字符的指针的字节偏移

      value-java.lang.String要设置的值

    • setString

      公共无效setString(长偏移量,WString 值)
      将字符串复制value到指向宽字符串(wchar_t*)的位置。

      参数:

      offset-与value必须设置字符的指针的字节偏移

      value-WString要设置的值

    • setString

      公共无效setString(长偏移量,字符串 值)
      value使用指示的编码,将字符串中的字节复制到指向的位置Native.getDefaultStringEncoding()

      参数:

      offset-与value必须设置字符的指针的字节偏移

      value-java.lang.String要设置的值

    • setString

      公共无效setString(长偏移量,字符串 值,字符串 编码)
      value使用请求的编码将字符串复制到指向的位置。

      参数:

      offset-与value必须设置字符的指针的字节偏移

      value-java.lang.String要设置的值

      encoding -所需的编码

    • 倾倒

      公共 字符串 转储(长偏移量,整数大小)
      转储内存以进行调试。
    • 公共 字符串 toString()

      覆写:

      toString 在班上 Object

    • nativeValue

      公共静态长nativeValue(指针 p)
      读取本地对等值。请谨慎使用。
    • nativeValue

      公共静态无效值nativeValue(指针 p,长值)
      设置本地对等值。请谨慎使用。
  • 构造器详细信息

    • 指针

      指针()
      派生类必须分配对等指针值。
    • 指针

      公共指针(长同伴)
      从本机指针创建。除非您知道自己在做什么,否则不要使用它。
  • 栏位详细

    • 尺寸

      公共静态最终int SIZE
      本机指针的大小,以字节为单位。
    • 空值

      公共静态最终 指针NULL
      便利常数,与相同null
    • 同伴

      受保护的长期同伴
      真正的本机指针的指针值。请长期使用以确保64位安全。

com.sun.jna.Pointer类的方法相关推荐

  1. unidbg第二讲 例子讲解com.sun.jna.JniDispatch32

    讲解例子 com.sun.jna.JniDispatch32 代码位置为:{unidbg_project}\unidbg-android\src\test\java\com\sun\jna 需求 1: ...

  2. JNA Pointer结构体传递

    我们在C++转JAVA代码的时候有时会遇到指针的转换,这里给出类型转换图: Native Type Java Type Native Representation char byte 8-bit in ...

  3. 在Linux环境下使用gfortran编译器生成fortran语言的.so共享对象文件 并使用JNA调用 带参方法

    在Linux环境下使用gfortran编译器生成fortran语言的.so共享对象文件 并使用JNA调用 带参方法 1 致谢和参考文章 1.1 致谢 1.2 参考文章 2 环境介绍 3 整体思路 4 ...

  4. 聊聊高并发(十七)解析java.util.concurrent各个组件(一) 了解sun.misc.Unsafe类

    了解了并发编程中锁的基本原理之后,接下来看看Java是如何利用这些原理来实现各种锁,原子变量,同步组件的.在开始分析java.util.concurrent的源代码直接,首先要了解的就是sun.mis ...

  5. java日历类add方法_Java日历setFirstDayOfWeek()方法与示例

    java日历类add方法 日历类setFirstDayOfWeek()方法 (Calendar Class setFirstDayOfWeek() method) setFirstDayOfWeek( ...

  6. java日历类add方法_Java日历setMinimalDaysInFirstWeek()方法与示例

    java日历类add方法 日历类setMinimalDaysInFirstWeek()方法 (Calendar Class setMinimalDaysInFirstWeek() method) se ...

  7. 服务器监测开发OSHI java.lang.NoClassDefFoundError: com/sun/jna/platform/win32/VersionHelpers

    前提:公司一个项目做服务器或者PC的监测 方案采纳:OSHI 免费的跨平台服务器监测 OSHI版本 <dependency><groupId>com.github.oshi&l ...

  8. java获取类与方法的注解、注释

    第一.获取注解 @Test(description = "获取类.方法注解") public void test(){//类注解信息Annotation[] annotations ...

  9. Eclipse导入sun.misc.Unsafe类及其源码

    一.Eclipse导入sun.misc.Unsafe类报错的解决方法 在eclipse中导入sun.misc.Unsafe类后,错误如图所示: 错误很明显,提示找不到这个类.具体解决方案如下: 点击W ...

  10. idea设置实现类生成方法_7种实现位设置的方法

    idea设置实现类生成方法 Some data is best modeled as a bit set. For example, the essential information about w ...

最新文章

  1. Spring Boot与ActiveMQ的集成
  2. 【译文】怎样让一天有36个小时
  3. Effective Python 小笔记之 zip 函数
  4. clickhouse mysql引擎_玩数据的,有必要搞搞这个大数据框架——ClickHouse
  5. boost::edge_coloring用法的测试程序
  6. 求你了,别再用 print 调试代码了
  7. 数组 边界 检查的几种实现方法
  8. Dockerfile 使用 ARG 参数实现构建模板
  9. 【Python】main函数 if __name__=='__main__' 详解
  10. centOS下JDK1.8的安装
  11. 我们在电脑房里上计算机课英语怎么说,2017年英语六级作文及翻译:计算机和人...
  12. jquery中的class函数addClass,removeClass,toggle,hasClass
  13. RSync实现文件备份同步,rsync服务器
  14. 普中28335开发攻略_DSP28335汇编教程
  15. Maven第9篇:多环境构建
  16. Emulex FC HBA卡FW升级与驱动安装
  17. Golang基础(1)
  18. 为什么世界上没有安全的工作?
  19. DDIM代码详细解读(4):分类器classifier的网络设计、训练、推理
  20. Latex中subfloat设置子图标题字体大小

热门文章

  1. 2014年东北四省赛总结
  2. [Phonegap+Sencha Touch] 移动开发19 某些安卓手机上弹出消息框 点击后不消失的解决的方法...
  3. MySQL数据库的高级SQL语句
  4. 威廉玛丽大学计算机本科专业,威廉玛丽学院本科专业有哪些?
  5. html中快速复制上一行并粘贴到下一行
  6. 我的世界java版execute指令_命令/execute
  7. 寒假怎么过?经典计算机教材助你弯道超车
  8. 中西方对时间的差异_中西方文化交际中时间观的差异对比
  9. 学好Python的11个优秀资源
  10. Python+matplotlib绘制极坐标柱状图(南丁格尔玫瑰图)