您的位置:首页 > 编程语言 > MATLAB

matlab调用VS生成的DLL

2016-11-27 18:51 176 查看
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)]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab