我必须在dll中调用方法,但它们的名称与使用Java Native Access的_setParameterX @ 12和_getParameterX @ 20类似。如何正确使用FunctionMapper或StdCallFunctionMapper?我如何调用这些功能? jna文档对我来说有点模糊。
答案 0 :(得分:1)
这些函数使用stdcall调用约定。后缀表示堆栈上传入参数的大小。
您应该使用StdCallFunctionMapper
自动生成适当的映射。创建类似于W32API options中使用的选项(函数映射器会自动为W32 API函数选择-W或-A后缀)。将新的选项地图传递给Native.loadLibrary
的调用。
此外,请确保实现StdCallLibrary
接口,以便在调用函数时使用适当的调用约定。