亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C#調用C++編寫的DLL函數, 以及各種類型的參數傳遞 (轉載)

2019-11-06 06:07:28
字體:
來源:轉載
供稿:網友

C#調用C++編寫的DLL函數, 以及各種類型的參數傳遞  

1. 如果函數只有傳入參數,比如:

C/C++ Code Copy Code To Clipboard//C++中的輸出函數int __declspec(dllexport) test(const int N){return N+10;}

對應的C#代碼為:

C# Code Copy Code To Clipboard[DllImport("test.dll", EntryPoint = "#1")]public static extern int test(int m); PRivate void button1_Click(object sender, EventArgs e){textBox1.Text= test(10).ToString();}

2. 如果函數有傳出參數,比如:

C/C++ Code Copy Code To Clipboard//C++void __declspec(dllexport) test(const int N, int& Z){Z=N+10;}

對應的C#代碼:

C# Code Copy Code To Clipboard[DllImport("test.dll", EntryPoint = "#1")]public static extern double test(int m, ref int n); private void button1_Click(object sender, EventArgs e){int N = 0;test1(10, ref N);textBox1.Text= N.ToString();}

3. 帶傳入數組:

C/C++ Code Copy Code To Clipboardvoid __declspec(dllexport) test(const int N, const int n[], int& Z){for (int i=0; i<N; i++){Z+=n[i];}}

C#代碼:

C# Code Copy Code To Clipboard[DllImport("test.dll", EntryPoint = "#1")]public static extern double test(int N, int[] n, ref int Z); private void button1_Click(object sender, EventArgs e){int N = 0;int[] n;n = new int[10];for (int i = 0; i < 10; i++){n[i] = i;}test(n.Length, n, ref N);textBox1.Text= N.ToString();}

4. 帶傳出數組:

C++不能直接傳出數組,只傳出數組指針,

C/C++ Code Copy Code To Clipboardvoid __declspec(dllexport) test(const int M, const int n[], int *N){for (int i=0; i<M; i++){N[i]=n[i]+10;}}

對應的C#代碼:

C# Code Copy Code To Clipboard[DllImport("test.dll", EntryPoint = "#1")]public static extern void test(int N, int[] n, [MarshalAs(UnmanagedType.LPArray,SizeParamIndex=1)] int[] Z); private void button1_Click(object sender, EventArgs e){int N = 1000;int[] n, Z;n = new int[N];Z = new int[N];for (int i = 0; i < N; i++){n[i] = i;}test(n.Length, n, Z);for (int i=0; i<Z.Length; i++){textBox1.AppendText(Z[i].ToString()+"n");}}

這里聲明函數入口時,注意這句 [MarshalAs(UnmanagedType.LPArray,SizeParamIndex=1)] int[] Z

在C#中數組是直接使用的,而在C++中返回的是數組的指針,這句用來轉化這兩種不同的類型.

關于MarshalAs的參數用法以及數組的Marshaling,可以參見這篇轉帖的文章: http://www.kycis.com/blog/read.php?21

5. 傳出字符數組:

C++定義:

C/C++ Code Copy Code To Clipboardvoid __declspec(dllexport) test(int i, double &a, double &b, char t[5])  

C#對應聲明:

C# Code Copy Code To Clipboard[DllImport("dll.dll", EntryPoint = "test")]  public static extern void test(int i, ref double a, ref double b, [Out, MarshalAs(UnmanagedType.LPArray)] char[] t);   。。。              char[] t = new char[5];              test(i, ref a, ref b, t);  

字符數組的傳遞基本與4相似,只是mashalAs 時前面加上Out。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲天堂色网站| 国产美女高潮久久白浆| 91九色国产社区在线观看| 成人网页在线免费观看| 久久久精品视频成人| 国产精品91一区| 亚洲精品少妇网址| 国产女人精品视频| 国产精品自拍网| 亚洲男人天堂视频| 最新国产精品拍自在线播放| 欧美黑人xxx| 中文字幕精品久久久久| 国产欧美日韩最新| 日韩欧美在线字幕| 91po在线观看91精品国产性色| 5566成人精品视频免费| 国产精品女人久久久久久| xvideos成人免费中文版| 精品美女国产在线| 国产精品久久视频| 97色在线观看免费视频| 精品国产乱码久久久久久婷婷| 欧美激情精品久久久久久黑人| 最新91在线视频| 欧美综合在线第二页| 高跟丝袜欧美一区| 78色国产精品| 日韩在线视频国产| 91免费看视频.| 成人免费观看网址| 欧美成人午夜激情| 欧美午夜无遮挡| 91精品国产91久久久久福利| 97免费中文视频在线观看| 一二美女精品欧洲| 亚洲综合中文字幕68页| 日韩高清免费在线| 97精品一区二区视频在线观看| 亚洲精品国产综合区久久久久久久| 国产精品亚洲视频在线观看| 国产精品嫩草影院一区二区| 九九九久久久久久| 亚洲精品一区av在线播放| 日韩高清不卡av| 久久久国产精品一区| 久久久精品久久久| 欧美大人香蕉在线| 亚洲美女自拍视频| 国产精品a久久久久久| 黑人巨大精品欧美一区二区一视频| 欧美性感美女h网站在线观看免费| 亚洲图片欧洲图片av| 久久夜色撩人精品| 国产精品欧美日韩一区二区| 91视频-88av| 韩国一区二区电影| 国产欧美va欧美va香蕉在线| 欧美精品中文字幕一区| 国产一区视频在线| 久久久久五月天| 欧美日韩国产影院| 国产精品亚洲欧美导航| 国产97在线亚洲| 欧美色播在线播放| 免费97视频在线精品国自产拍| 蜜月aⅴ免费一区二区三区| 欧美中文字幕在线观看| 久久精品中文字幕免费mv| 91免费人成网站在线观看18| 精品久久久久久中文字幕一区奶水| 亚洲一区二区三区乱码aⅴ| 日韩a**站在线观看| 亚洲伊人一本大道中文字幕| 亚洲自拍偷拍网址| 日韩成人久久久| 亚洲一区二区日本| 亚洲欧美日韩精品久久亚洲区| 国内外成人免费激情在线视频| 社区色欧美激情 | 日韩一级裸体免费视频| 亚洲精品mp4| 中文字幕v亚洲ⅴv天堂| 成人免费福利视频| 欧美激情videoshd| 欧美极度另类性三渗透| 成人中文字幕在线观看| 久久久久久久亚洲精品| 一区二区三区四区在线观看视频| 中文字幕亚洲在线| 国产精品av免费在线观看| 国产视频在线一区二区| 午夜精品一区二区三区av| 成人av在线亚洲| 日韩福利伦理影院免费| 国产精品一区二区久久久| 欧美极品在线视频| 精品久久久一区| 性色av一区二区三区红粉影视| 91亚洲精品久久久久久久久久久久| 久久亚洲精品一区二区| 亚洲资源在线看| 国产一区二区三区18| 欧美精品第一页在线播放| 91国产精品视频在线| 国产精品久久久久91| 精品国产乱码久久久久久婷婷| 中文字幕亚洲欧美日韩在线不卡| 欧美激情a∨在线视频播放| 精品欧美一区二区三区| 伊人久久五月天| 国产+成+人+亚洲欧洲| 久久久久久噜噜噜久久久精品| 91九色视频在线| 国产精品美女视频网站| 久久久久久噜噜噜久久久精品| 欧美国产在线视频| 91大神在线播放精品| 欧美日韩国产黄| 日韩欧美在线中文字幕| 欧美日韩另类在线| 亚洲最新av在线| 国产在线精品成人一区二区三区| 成人性生交大片免费观看嘿嘿视频| 日韩av综合中文字幕| 色综合色综合网色综合| www.亚洲男人天堂| 97久久精品人搡人人玩| 清纯唯美日韩制服另类| 91久久久久久久久久久久久| 国产成人精品免费久久久久| 成人久久18免费网站图片| 亚洲国产精品悠悠久久琪琪| 欧美国产日本在线| 成人综合网网址| 午夜精品久久久久久久男人的天堂| 日韩美女在线观看| 伊人伊成久久人综合网小说| 欧美极品少妇xxxxx| 成人伊人精品色xxxx视频| 国产精品自产拍在线观看中文| 国产精品国产三级国产专播精品人| 亚洲一区二区中文字幕| 日韩精品在线免费观看| 欧美日韩不卡合集视频| 国产精品三级网站| 国内精品美女av在线播放| 91精品久久久久久| 欧美日韩成人黄色| 日韩中文有码在线视频| 久久久综合免费视频| 国产亚洲欧美日韩精品| 亚洲精品久久7777777| 欧美性视频精品| 久久久91精品国产| 91成人精品网站| 亚洲一区二区三区毛片| 国产精品视频不卡| 在线观看久久av| 亚洲色图25p| 欧美激情亚洲自拍| 久久人91精品久久久久久不卡| 国语自产精品视频在线看抢先版图片| 久久久久久久国产精品|