C语言的动态库在C#中如何声明及调用

如题所述

1、将DLL文件复制到编译路径目录(系统目录或项目目录等等);
2、导出DLL的功能接口;如:[DllImport("WDT_DIO64.dll")]
internal static extern int InitDIO();
这个DLL在C中的头文件是这样表达的:BOOL InitDIO(void);
BOOL 在C中是int类型的,对应的C#也是int 类型,调用DLL通常都是静态的外部引进的(static extern),internal 是可见属性定义(自己根据需要定义);
3、参考DLL对应的头文件的信息。如果C/C++封装的dll是打算通用的,通常发布头文件,头文件在C中是编译器所需的文件,DLL的关键信息都在头文件展示出来。我们可以通过阅读头文件的包含信息(如结构体、宏定义,函数原型、功能注释等),使用C#方式来导出DLL的函数接口来调用DLL(如上2、)。
4、在需要的地方加上参数调用导出的函数接口。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答