开发环境:win7 64位+vs2010+matlab
学习matlab与c++混合编程的路上有时候会遇到莫名其妙的错误,因此做一下记录:
2015年:
1、由于系统是64位,装的matlab的链接库也是64位,如果使用win32控制台是32位,需要配置管理器-》配置为X64位
2、在c++中调用mwarray类,若未初始化,会出现直接运行没问题,然而调试的时候,出现内存异常,因此需要在调用mwarray前调用初始化函数mclInitializeApplication、及动态链接库的初始化函数。
3、matlab函数最好把函数返回的结果数据转置,因为matlab是根据列存储的,记住只是存储的时候有区别,但在matlab显示行列的时候并没有变,直接用mwarray的getdata()获取数据时,顺序会出错。
4、如果在matlab函数中有形参未被引用,可能会引起奔溃,例如 :
错误形式:
function [ output_args ] = test( input_args )
end