MEX文件产生错误的结果
如果您的程序生成了错误的答案,请考虑以下内容。
检查计算逻辑中的错误。
检查程序是否从内存中未初始化的部分读取。例如,读取一个10元素向量的第11个元素会产生不可预知的结果。
检查程序是否由于内存处理不当而覆盖了有效数据。例如,写入一个包含10个元素的向量的第15个元素将覆盖内存中相邻变量中的数据。这种情况可以用与分段违规类似的方式处理。
在所有这些情况下,都可以使用mexPrintf
在中间阶段检查数据值。或者,运行MATLAB®在调试器中。
如果您的程序生成了错误的答案,请考虑以下内容。
检查计算逻辑中的错误。
检查程序是否从内存中未初始化的部分读取。例如,读取一个10元素向量的第11个元素会产生不可预知的结果。
检查程序是否由于内存处理不当而覆盖了有效数据。例如,写入一个包含10个元素的向量的第15个元素将覆盖内存中相邻变量中的数据。这种情况可以用与分段违规类似的方式处理。
在所有这些情况下,都可以使用mexPrintf
在中间阶段检查数据值。或者,运行MATLAB®在调试器中。