JNative:
指针调用:Pointer p;
p = new Pointer(
MemoryBlockFactory.createMemoryBlock(x));
//x为所需要的空间大小
p.setIntAt(0, 5);
public int setLongAt(int offset, long value) throws NativeExceptionoffset - int the native memory block
value - the integer to write
猜想…是为了命名
Eg:来源于:http://bbs.csdn.net/topics/310039060的一段范例
Pointer a = new Pointer(MemoryBlockFactory.createMemoryBlock(4*10));
<span style="color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(245, 245, 245);">for(int i=0;i<10;i++){</span><br style="box-sizing: content-box; color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(245, 245, 245);" /><span style="color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(245, 245, 245);">a.setIntAt(4*i, i);</span>
<span style="color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(245, 245, 245);">}</span>
对应C++函数:
a = new int[10];
所以猜测应该是给指针分段命名。
JNative.setParameter
多个重载
详情可见http://jnative.free.fr/docs/ 下 JNative 类的setParameter 函数的相关说明。
共性:第一个参数是position int型
pos
- the offset of the parameter
!!注意:框架不同 参数pos可能不同
试验过的: struts2+spring+mybastic
该框架对于传值有特殊要求:
多个double型变量传值时需要倒序传值。