<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          使用LabVIEW遇到結(jié)構(gòu)體對齊問題

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

          結(jié)果char下面的數(shù)據(jù)全都錯誤。網(wǎng)上查找到了原因是:LV是采用一個字節(jié)對齊的方式,也就是說,LV的簇是無縫隙存儲的,占用空間的大小就是這個元素占用空間大小之和。而通常DLL中采用的是整形量對齊(與編譯器有關(guān))。

          可以把char改為int來應(yīng)付急用。建議參考LV中的CALL DLL.VI的例子。






          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();