C#怎么調(diào)用VCDLL

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

迭部網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),迭部網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為迭部成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的迭部做網(wǎng)站的公司定做!

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

VC:

比如想要用C#調(diào)用的VC的函數(shù)是:

A( int* b ),

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

定義一個結(jié)構(gòu)體:

C{ int num; int* b },

之后把那個調(diào)用的函數(shù)改為:

A( C &c )。

C#:

首先呢,需要引入結(jié)構(gòu)體:

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

然后,引入接口函數(shù):

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

然后,調(diào)用:

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

***我們需要把輸出的這個c轉(zhuǎn)化為一個int類型的數(shù)組,這樣才好用:

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#怎么調(diào)用VC DLL”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享題目:C#怎么調(diào)用VCDLL
URL分享:http://bm7419.com/article10/pcddgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈搜索引擎優(yōu)化、軟件開發(fā)、手機網(wǎng)站建設(shè)、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)