VC中封装DLL在CVI中使用要按 C的形式进行导出 或使用 .def文件进行导出,使用.def文件进行导出要注意在CVI中函数声明的写法.你可以在封装的dll中封装winio并完成并口的操作.这个我试过了可行的,希望能够解决你的问题.
我在VC包装的动态链接库,在VC里调用没有问题,但是到了CVI里还是无法通过编译!!!!!
文件包装声明:
extern "C" bool __declspec(dllexport) InitializeLtp();
extern "C" void __declspec(dllexport) ShutdownLtp();
函数定义:
bool InitializeLtp()
{
return InitializeWinIo();
}
void ShutdownLtp()
{
ShutdownWinIo();
}
以上是在VC中的编辑:
以下是在CVI中的调用:
声明:在Ltp.h中
__declspec(dllimport) bool InitializeLtp();
__declspec(dllimport) void ShutdownLtp();
调用在main中:
//初始化并口
if( InitializeLtp())
{
printf("Init LPT1 OK!\r\n");
}
else
{
printf("Init LPT1 error!\n");
}
。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。
ShutdownLtp();
发生的错误还是一样的!!missing prototype
我将你需要的使用VC做了封装,你到这个地址下载:(在此我无法上传附近)
http://www.namipan.com/d/1e6a0ceb5c7296d5438f365d3ebae108a4438f3bfcd60300