C#调用DLL中非托管C++函数参数类型对照
C#调用DLL中非托管C++函数参数类型对照 在C#编程中,经常需要调用C++中的DLL类库,这就需要了解C++中的函数参数类型在C#中的对应关系。以下是基本数据类型的对照: * 一维数组:C#参数在基本类型前加ref或out,out表示有返回数据。例如调用C++的f(float[] a),在C#中,为f(ref a)。 * 数据结构:C++中的struct SAMPLE_DATA { byte SampleID[255]; float Value[6]; } 在C#中对应的结构体为: [StructLayout(LayoutKind.Sequential)] unsafe public struct SAMPLE_DATA { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 255)] public byte[] SampleID; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] public float[] Value; } 以下是基本数据类型的对照: * bool -> bool * char -> char * unsigned char -> byte * short -> short * unsigned short -> ushort * int -> int * unsigned int -> uint * long -> int * unsigned long -> uint * long long -> long * unsigned long long -> ulong * float -> float * double -> double * void -> void 然而,在实际应用中,我们可能会遇到一些问题。例如,在处理GetWindowText函数时,因为LPTSTR是为了将结果带回来的返回值,因此使用String便行不通了,而需要使用StringBuffer。 为解决这类问题,我们可以使用以下两种方法: 方法一:查看Web版本的MSDN。在Community Content部分都给出了C#、VB调用的原型。例如,GetWindowText和GetForegroundWindow函数的原型可以在MSDN上找到。 方法二:使用P/Invoke Interop Assistant。输入你想要的东西(Type、Constant、Procedure),它会自动生成相应的代码(C#或VB)。例如,输入SHFileInfo类型,P/Invoke Interop Assistant将生成以下代码: [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] public struct SHFILEINFOW { /// HICON->HICON__* public System.IntPtr hIcon; /// int public int iIcon; ... } 调用C++中的DLL类库需要了解C++中的函数参数类型在C#中的对应关系,并且需要掌握解决问题的方法。















剩余11页未读,继续阅读


- 粉丝: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 外文文献及翻译-Digital-Image-Processing-and-Edge-Detection数字图像处理与边缘检测(1).doc
- 安徽农业大学计算机科学与技术专升本串、数组和广义表市公开课特等奖市赛课微课一等奖(1).pptx
- Excel使用技巧大全ppt文档(1).ppt
- 数据库管理系统论文设计(1)(1).doc
- 基于Web的北方交通期刊门户网站的设计与实现毕业论文(2)(1).doc
- 区域首席代理合同协议(早教软件).doc
- 浅谈计算机科学与技术的发展趋势-1(1).docx
- 计算机培训1921182981(1).docx
- 互联网+对酒店营销的影响及策略研究(1).docx
- 生物学常用软件简介省公开课(1).pptx
- 网上卖假货:质量监督也有互联网+(1).docx
- 学位论文-—基于51单片机的出租车计价器设计(1).doc
- 金算盘软件操作手册-第三章库存管理(1).doc
- 网站内容互转协议.doc
- 空调原理与设备CAI简介空调原理与设备CAI软件(1).ppt
- 企业级电子商务的解决方案样本(1).doc


