c++端:(定義返回資料為結構體vector4)
struct vector4;
c#端:(接收返回的結構體vector4)
[structlayout(layoutkind.sequential)]struct vector4
其實就很簡單一句話,用intptr接收char* 引數就完事了。
inrptr:用於表示指標或控制代碼的平台特定型別;接收到intptr資料之後,進行乙個資料轉換就行了:
//與int互轉int i=1;
intptr p=new intptr(i);
int ch_i=(int) p;
//與string互轉
string str="a";
intptr p=marshal.stringtohglobalansi(str);
string s=marshal.ptrtostringansi(p);
marshal.freehglobal(p)
C 呼叫C dll string型別返回
c 端 定義返回資料為結構體vector4 structvector4 c 端 接收返回的結構體vector4 structlayout layoutkind.sequential structvector4 其實就很簡單一句話,用intptr接收char 引數就完事了。inrptr 用於表示指標或...
c 呼叫dll型別對應表
c 呼叫dll 檔案時引數對應表 wtypes.h 中的非託管型別 非託管 c 語言型別 託管類名 說明 handle void system.intptr 32 位 byte unsigned char system.byte 8 位short short system.int16 16 位 wo...
C 專案呼叫託管型別的dll
比如在c 專案中,使用c 類庫專案型別生成dll檔案,或使用其他人寫好的託管型別的dll檔案。步驟如下 滑鼠右鍵當前專案下的引用 新增引用 瀏覽 選擇要引用的dll檔案即可。檢查方法 2.1 檢查dll的.net版本 使用vs自帶的一款反編譯工具ildasm.exe,開啟dll檔案,雙擊 manif...