CVI调用VC封装WinDriver驱动的DLL

来源:互联网 发布:nginx 子域名 编辑:程序博客网 时间:2024/05/02 00:34

CVI调用VC封装WinDriver驱动的DLL(PCI驱动)

WinDriver生成的代码是标准C的,CVI用的也是标准C,如果用VC封装成DLL就需要注意下面几点:

1.     VC中的头文件中,输出文件需要用extern C”修饰,否则不能被CVI调用。(因为CVI是标准C

2.     调用约定必须用__stdcall,因为驱动中可能要采用win32 API

3.     __stdcall调用可能产生C不识别的修饰名,所以设置导出函数时要采用.def文件形式,而不是__declspec(dllexport)形式。后者会进行修饰名转换,C语言无法识别函数。

4.     LabWindows/CVI使用一个外部的DLL时,您需要一个导入library,把CVI的函数调用和对应的DLL函数定义链接起来。有时应用上述方法生成DLL时生成的静态库还有些问题,导致连接失败。此时就可以应用下述方法在CVI中生成静态库文件:Options</strong>”,再选择“Generate DLL Import Library</strong>”,会出现提示,通过浏览文件的方式选择DLL,生成导入libraryCVI于是会创建导入library,这样在CVI环境中,您可以在编译链接的时候包含这个导入library

原创粉丝点击