色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 使用LabVIEW遇到結(jié)構(gòu)體對(duì)齊問(wèn)題

          使用LabVIEW遇到結(jié)構(gòu)體對(duì)齊問(wèn)題

          作者: 時(shí)間:2017-01-05 來(lái)源:網(wǎng)絡(luò) 收藏
          在LV和VC的WIN32 DLL之間傳遞下面結(jié)構(gòu)體。
          typedef struct npm_axis
          {
          int axis_select;
          int sv;//初始速度
          int v;//驅(qū)動(dòng)速度
          //int acc;//直線加速度
          //int dec;//直線減速度
          int sacc;//s曲線加速區(qū)間
          int sdec;//s曲線減速區(qū)間
          int tacc;//加速時(shí)間
          int tdec;//減速時(shí)間
          char line_s;//加速模式
          int limit_speed;//速度限制
          int pos;//絕對(duì)
          int dis; //增量
          int center;
          //int speed;//啟動(dòng)指令
          } 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)論


          技術(shù)專區(qū)

          關(guān)閉