亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問我在c#中用動態鏈接庫的方式引入一個c++dll,入參類型像這樣轉換是否正確?

請問我在c#中用動態鏈接庫的方式引入一個c++dll,入參類型像這樣轉換是否正確?

C++
慕田峪4524236 2018-10-30 05:05:40
請問我在c#中用動態鏈接庫的方式引入一個c++dll,在調用dll中的接口時,入參類型像這樣轉換是否正確?依照這個dll的接口文檔描述,它這個接口的入參是這樣的:long OltpTransData(unsigned long msgType,unsigned long packageType,unsigned long packageLength,char *str,LPTSTR com);            c#代碼中的引入,我是這么寫的:     [DllImport("OltpTransIc1701.dll", SetLastError = false)]     public static extern long OltpTransData(long msgType, long packageType, long packageLength, ref string str, [MarshalAs(UnmanagedType.LPTStr)] string com);             請問這么轉換入參類型是否正確?
查看完整描述

2 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

C++的long在有的編譯器里相當于int,你可以用sizeof(long)看下
unsigned long對應C#的ulong和uint
char *str用StringBuilder

查看完整回答
反對 回復 2018-11-03
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

你這種方式必須要采用動態加載參數了 因為看你的問題 好像你的參數不是固定的

查看完整回答
反對 回復 2018-11-03
  • 2 回答
  • 0 關注
  • 763 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號