【发布时间】:2019-08-05 14:03:06
【问题描述】:
我需要创建 Java 接口来调用 DLL 中的方法。 我不确定下面的java代码是否正确。
我已经在使用 JNA 5.4 和 Java 11。
C 中的结构:
typedef struct
{
char CarId[8 + 1];
char CarCode[5 + 1];
char PrimaCarStatus[24 + 1];
}Cars;
C 中的方法:
extern "C" __int32 _stdcall FAR PASCAL DG18_Search(Cars *CarsData);
应该是这样的吗?
Java 类
public class Cars extends Struct {
public byte carId[] = new byte[8];
public byte carCode[] = new byte[5];
public byte primaCarStatus[] = new byte[24];
}
Java 方法
public int DG18_Search(Pointer pointer);
array[1+1] 和 FAR PASCAL 在 C 中究竟是什么意思?
【问题讨论】:
-
关于 FAR 和 PASCAL,请查看:stackoverflow.com/questions/2774171/what-is-far-pascal