您的位置:首页 > 其它

CVI调用VC封装WinDriver驱动的DLL

2007-12-26 00:59 274 查看
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,生成导入library。CVI于是会创建导入library,这样在CVI环境中,您可以在编译链接的时候包含这个导入library。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: