通过JNA调用下面列出的本机方法会导致内存访问无效。
这就是我用googled和stackoverflowed来处理struct **。
DLLEXPORT int STDCALL func( const struct someStruct* s, const float someFloat, enum someEnum, struct structOfInterest** soi);
这就是调用方法func的方法:
PointerByReference p = new PointerByReference();
int result = _native.func(s, f, 1, p);
有没有办法获取有关无效内存访问异常原因的更多信息?
编辑: java声明。
int func(someStruct s, float someFloat, int someEnum, PointerByReference p);
someStruct的类型是扩展Structure。还包括这一行
class ByReference extends someStruct implements Structure.ByReference {}