自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#調(diào)用VC DLL知識點(diǎn)

開發(fā) 后端
本文介紹了用C#調(diào)用VC帶指針輸出的DLL的方法,與大家分享。

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

VC:

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

A( int* b ),

因?yàn)橹羔樤贑#里不容易接,所以這時(shí)候我就會在VC里稍微改變一下,

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

C{ int num; int* b },

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

A( C &c )。

C#:

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

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

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

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

然后,調(diào)用:

  1. C c = new C();  
  2. A(out c);  

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

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

我寫得是簡單的例子,專門傳整數(shù)類型的指針的,

其實(shí)還可以是復(fù)雜類型的,可是是C#沒有的,可以是自己定義的,等等,

寫出來C#調(diào)用VC DLL這個方法,希望對一些人有幫助。

【編輯推薦】

  1. C#自定義事件步步 通
  2. 如何在C#中使用存儲過程(SQL Server 2000)
  3. 存儲過程自動轉(zhuǎn)成C#源碼過程
  4. C#事件處理和自定義事件
  5. 通過C#反射特性查看自定義特性
責(zé)任編輯:book05 來源: hi.baidu
相關(guān)推薦

2009-08-05 16:41:36

C#調(diào)用VC dll

2009-08-05 16:49:42

C#中調(diào)用dll

2009-08-06 17:42:32

C#知識點(diǎn)

2009-08-05 09:09:14

C#調(diào)用VC DLL接

2009-07-31 17:28:35

C#語言調(diào)用DLL

2009-08-03 12:57:27

C#調(diào)用DLL

2009-08-07 17:22:36

C#調(diào)用dll導(dǎo)出函數(shù)

2009-08-05 09:30:39

C#調(diào)用DLL函數(shù)

2009-09-02 17:16:01

冒泡排序

2009-08-05 09:40:02

C#調(diào)用DLL函數(shù)

2011-04-08 09:52:44

C++C#DLL

2010-06-04 16:26:02

2016-05-30 17:31:34

Spring框架

2009-08-05 17:06:39

ASP調(diào)用C# DLL

2024-03-01 20:59:11

C#DLL開發(fā)

2010-08-17 14:56:00

HCNE認(rèn)證

2011-04-15 12:25:21

BGP路由

2009-07-31 14:54:48

dll函數(shù)C#導(dǎo)出

2024-06-28 09:37:14

技巧.NET開發(fā)

2011-03-31 09:13:00

Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號