matlab调用VS生成的DLL

来源:互联网 发布:xtw100编程器使用说明 编辑:程序博客网 时间:2024/05/19 23:56

vs配置管理器是Debug版本,将程序生成动态链接库,在matlab调用时,弹出assert failed对话框,不知道为何会弹出错误,一开始以为是内存泄露,使用visual leak detector工具对内存进行了泄露检测,发现有内存泄露,以为是内存泄露造成的,将内存泄露进行修复,结果再次调用还是提示同样的错误,最后听网上有人说程序中有许多指针是野指针造成的,如果vs配置管理器设置为Release版本,结果程序能够正常运行,正将程序中的野指针都进行初始化,看是否能够解决这个问题。
matlab加载DLL,常需要用到的几个函数,记录如下: loadlibrary(‘ACDC.dll’,‘ACDC.h’);其中ACDC.dll 是你用VS生成的动态链接库,后面的实参是头文件,后缀.dll,.h都可以省略,既可以用loadlibrary(‘ACDC’,’ACDC’); 若要对加载的库进行卸载可以使用,unloadlibrary(‘ACDC’), 若对其中的函数调用可以使用以下函数:calllib(‘ACDC’,’runACDCpf’,参数1,参数2,…),第1个参数你的DLL名字,第二个参数是你调用的函数,第三个参数,你调用的函数参数, 第四个类似。libisloaded(‘ACDC’),用以查询’ACDC’库是否加载, libmethods(‘ACDC’)和libmethodsview(‘ACDC’)用来查询ACDC库的一些函数信息和参数类型.
matlab下调用DLL的一些函数详细用法可以参考文献:[(http://wenku.baidu.com/link?url=klsMJOpjgQkS_qkzPJf9I4mcz6I1pmCsotQajGQBmxzLeGixVqA1-gHyrAmCLSWqQ0Hu_moRmDZLPL2cHw2Yw3itFtUsbgQw1c6wFUXrWbu)]

0 0
原创粉丝点击