C#调用C/C++DLL的两种方法
前言
工作中,需要给客户提供公司产品的.NET动态库,但驱动工程师往往只提供C编译的库,这里就需要我做一些中间工作,方便客户使用我们的产品。
方法1:常用的DLLImport方法
一般这种方法用于调用非托管动态库,很常见,这里我就不做赘述,推荐一个好用的网站方便大家做参考, 链接: pinvoke.net。
方法2:CLR封装法
通过Visual studio新建一个支持CLR的DLL项目,项目调用原来c编译的库的Lib文件,然后重新封装一层方法写在这个项目里面。
下面举例创建一个CLRCom项目,关键代码如下:
引用Lib的头文件.h,这里是gxcom_lib.h
#pragma comment(lib, "gxcom.lib")
#ifndef DLL
#define DLL __declspec(dllimport)
#endif
#