遇到一個vc做的dll,其中一個函式是
extern "C" INTERFACE_API int XSPEC_getIntegrationTime(USB_SPEC *ptr);
其中USB_SPEC的定義是
typedef struct usb_spec{
char filename[LIBUSB_PATH_MAX];
char devnum;
usb_dev_handle *usb_dev;
void *context0;
void *context1;
int flag;
usb_spec *next;
} USB_SPEC;
不知vb中要呼叫的話,USB_SPEC結構體該如何寫?
望各位大神指點!!!
uj5u.com熱心網友回復:
typedef struct usb_spec{char filename[LIBUSB_PATH_MAX];
char devnum;
usb_dev_handle *usb_dev;
void *context0;
void *context1;
int flag;
usb_spec *next;
} USB_SPEC;
VB可以類似進行定義一個type型別,但是char部分有可能會有問題,VB一般都會4位元組邊界進行對齊,你的看沒有成員的對齊邊界,然后在VB中對應即可;指標可以使用long型別資料成員,int也必須使用long
uj5u.com熱心網友回復:
你的看每個成員的對齊邊界uj5u.com熱心網友回復:
先定義一個對應的資料型別,如果因為對齊原因,二者不一致,寫個函式,自己處理這種不一致好了。如果VC,DLL可以修改,修改最好,不能修改,自己處理。
uj5u.com熱心網友回復:
我記得好像VB是無法使用VC傳遞進來的結構體的。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/133261.html
標籤:API
上一篇:客戶端行程防殺
下一篇:VB跟電磁仿真軟體CST結合問題
