C# 调用c++ 实例
2011-01-18 16:36
477 查看
今天写了个RFID的封装类,主要实现c#调用c++中的函数。如果大家有需要,可以当个参考:
接口文档如下:
c++中的Struct 如下:
另外,也可以参考这几篇文章:
C#调用c++Dll结构体数组指针的问题
[转]C#时常需要调用C++DLL
http://hi.baidu.com/yun0216/blog/item/37a463106b575ffec3ce7913.html
http://blog.csdn.net/xqf222/archive/2010/09/11/5877795.aspx
对于Byte[]的处理 可以参考
Byte数组转换成string 的方法积累
接口文档如下:
c++中的Struct 如下:
c#的类如下: public class RFIDBaseManage { [DllImport("xxx.dll")] public static extern int Connect(string dev, ref int devid); [DllImport("xxx.dll")] public static extern int Disconnect(int devid); [DllImport("xxx.dll", EntryPoint = "GetReaders")] public static extern int GetReaders(ref ReaderItem item,int maxCount,ref int count); } public class RFIDInfoManage { [DllImport("xxx.dll", EntryPoint = "EPC1G2_Inventory")] public static extern int EPC1G2_Inventory(int DeviceID, short antennalID, ref InventoryResult result); } [StructLayout(LayoutKind.Sequential)] public struct ReaderItem { public int deviceID; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)] public string address; //IP地址或串口;如"COM1","10.86.10.56" public int status; public int style; } [StructLayout(LayoutKind.Sequential)] public struct InventoryResult { public int length; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2048)] public byte[] tagData; }
另外,也可以参考这几篇文章:
C#调用c++Dll结构体数组指针的问题
[转]C#时常需要调用C++DLL
http://hi.baidu.com/yun0216/blog/item/37a463106b575ffec3ce7913.html
http://blog.csdn.net/xqf222/archive/2010/09/11/5877795.aspx
对于Byte[]的处理 可以参考
Byte数组转换成string 的方法积累
相关文章推荐
- c#调用C++ dll 报未将对象引用到设置对象的实例 的解决方案
- .net实例:使用C++调用C#的DLL
- c#调用C++ dll 报未将对象引用到设置对象的实例 的解决方案
- C#调用C++生成的DLL(实例1)
- c++调用c#的dll + 实例
- C#调用C++导出类的一个实例
- C#调用C++代码完整实例
- C# 调用c++ 实例
- c#调用C/C++代码时出现的PInvokeStackImbalance异常实例及解决方式
- Java调用架构于C#下的WebService实例二
- C# 调用C++的dll进行图像加载存储
- VS2012下 C# Application 中调用C++ DLL库,如何断点调试
- C#调用C/C++的dll须知
- C++数据类型与C#对应关系 c#调用WINDWOS API时,非常有用
- c#调用C++DLL参数对应
- C#调用C++编写的DLL函数, 以及各种类型的参数传递 不指定
- C#调用C++ DLL
- c#调用C++写的DLL,传递二维指针参数
- C#时常需要调用C++DLL
- C# C++ dll的相互调用