使用LabVIEW遇到結(jié)構(gòu)體對(duì)齊問(wèn)題
typedef struct
{
} uAXIS;
結(jié)果char下面的數(shù)據(jù)全都錯(cuò)誤。網(wǎng)上查找到了原因是:LV是采用一個(gè)字節(jié)對(duì)齊的方式,也就是說(shuō),LV的簇是無(wú)縫隙存儲(chǔ)的,占用空間的大小就是這個(gè)元素占用空間大小之和。而通常DLL中采用的是整形量對(duì)齊(與編譯器有關(guān))。
可以把char改為int來(lái)應(yīng)付急用。建議參考LV中的CALL DLL.VI的例子。
評(píng)論