【问题标题】:Are there debug and release configurations in MatlabMatlab中是否有调试和发布配置
【发布时间】:2016-04-22 22:43:05
【问题描述】:

我正在使用 C++ 和 Matlab 进行编码。对于 C++ 项目,我使用 VS2013(或 2015)。在 VS 中,有两种不同的默认配置 - 调试和发布,而第二种通常要快得多。 在 Matlab 中,我总是从 Matlab 的命令行运行我的代码。有没有办法通过更改配置来提高 Matlab 中的性能?

我知道,我可以编译 Matlab 代码,但它会提高性能吗(我通常进行图像分析或非线性系统求解)?我也知道,可以从 Matlab 的代码中生成 C 代码,这有时会加速它。

我没有找到关于 SO 的完整答案。我的猜测是,如果我的脚本中没有断点,它会自动在发布模式下运行,否则在调试模式下运行。我注意到,如果我在脚本末尾有一个断点,它会运行得更慢。

【问题讨论】:

    标签: matlab visual-studio configuration


    【解决方案1】:

    简而言之,答案是否定的。 Matlab 本身没有这些配置的概念。

    归根结底,C++ 代码是在生成的二进制文件运行之前根据配置选项编译的。另一方面,Matlab 代码不包含编译步骤,只是由解释器运行。 C++ 发布配置通常启用了编译和链接器优化,而调试配置没有。

    只有当您使用 Matlab 工具箱或实用程序将您的 Matlab 代码转换为 C 代码时,才能“编译”您的 Matlab 代码。我相信,如果您要将 Matlab 代码转换为 C 语言,可以在您的 Matlab 代码中使用哪些内部 Matlab 函数存在一些限制。如果您能够这样做,Matlab 将使用一些构建配置来生成 C 代码。最好检查一下,但我怀疑生成的 Matlab 代码不太可能更快,因为一些繁重的内部 Matlab 函数已经用 C++ 编码。

    【讨论】:

      猜你喜欢
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多