91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#怎么調用VC DLL

發布時間:2021-08-19 09:24:40 來源:億速云 閱讀:167 作者:chen 欄目:編程語言

本篇內容主要講解“C#怎么調用VC DLL”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#怎么調用VC DLL”吧!

本人認為用C#調用VC DLL是很有用的知識點,我自己感覺很好用啊,不知道別人用我這個方法是否好用。

VC:

比如想要用C#調用的VC的函數是:

A( int* b ),

因為指針在C#里不容易接,所以這時候我就會在VC里稍微改變一下,

定義一個結構體:

C{ int num; int* b },

之后把那個調用的函數改為:

A( C &c )。

C#:

首先呢,需要引入結構體:

[StructLayout(LayoutKind.Sequential)]  public struct C  {  public int num;  public IntPtr b; //注意,這里用的是IntPtr  }

然后,引入接口函數:

[DllImport("DLL_NAME.dll")]  extern static void A(out C c); //這里的out也可以用ref

然后,調用:

C c = new C();  A(out c);

***我們需要把輸出的這個c轉化為一個int類型的數組,這樣才好用:

int v = c.num  int[] x=new int[v];  int size = System.Runtime.InteropServices.Marshal.SizeOf(new int()); //這里是為了算清楚int類型步長  for (int i = 0; i <  v_points_out.points_num; i++)  {  int p = (int)System.Runtime.InteropServices.Marshal.PtrToStructure(new IntPtr(c.b.ToInt32() + size * i), typeof(int)); //取出每個值  x[i] = p;  }

到此,相信大家對“C#怎么調用VC DLL”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

治县。| 鄂托克旗| 东乌| 东海县| 德阳市| 保定市| 朔州市| 沈阳市| 灵台县| 潜江市| 东至县| 珲春市| 饶平县| 西贡区| 罗田县| 容城县| 济源市| 哈密市| 安达市| 罗甸县| 霍林郭勒市| 泗水县| 噶尔县| 育儿| 阿拉善右旗| 灵川县| 红原县| 新宾| 和硕县| 加查县| 南木林县| 宁蒗| 咸宁市| 天长市| 卓资县| 集贤县| 乌拉特前旗| 海城市| 龙川县| 奉贤区| 马关县|