我是新手JNA开发人员,所以请原谅我,如果这个问题是微不足道的,但我正在努力处理C-lang结构对象,包括与JNA的float数组。目前我有一个编译错误。如何在JNA中传递包含原始类型数组的结构?
我认为这个问题是错误的方式来初始化和分配FloatByReference实例(mys.Weights)到MYSTRUCT类实例(mys),相信下面的Java代码不应该被修改,因为JNAerator自动生成它。
我的C代码:
typedef struct
{
int n;
float *Weights;
} mystruct;
void testfunc(mystruct* mys){
printf(mys->Weights[0]);
}
public interface CLibrary extends Library {
public static final String JNA_LIBRARY_NAME = "test";
public static final NativeLibrary JNA_NATIVE_LIB = NativeLibrary.getInstance(CLibrary.JNA_LIBRARY_NAME);
public static final CLibrary INSTANCE = (CLibrary)Native.loadLibrary(CLibrary.JNA_LIBRARY_NAME, CLibrary.class);
和Java:
public interface CLibrary extends Library {
public