【问题标题】:running compiled matlab from matlab从 matlab 运行编译的 matlab
【发布时间】:2023-03-21 15:42:03
【问题描述】:

我正在尝试从 MATLAB 内部运行已编译的 MATLAB 代码(通过 mcc),这样我可以避免使用已编译代码所需的另一个许可证。我们需要这个,因为我们一次又一次地运行相同的特定代码部分,并且由于许可证等待而导致执行被卡住。我们不想仅仅为了大规模运行相同的部分而购买大量这种特定的许可证。有没有办法做到这一点?教程?

是否可以将 .m 文件编译为 dll/so 并像 mex 一样包装它并从 MATLAB 中即时调用它?我将如何传递和检索复杂的参数?

【问题讨论】:

    标签: matlab matlab-deployment matlab-compiler


    【解决方案1】:

    根据 http://www.mathworks.de/products/compiler/description3.html 创建共享库应该是可能的。

    关于传递和检索复杂参数: 如果您打算使用 mex,我假设您应该能够使用您想要的任何参数调用共享库“main”函数,使用您无论如何都必须使用的 mxArray 类型。

    【讨论】:

      【解决方案2】:

      要在 MATLAB 中运行 MATLAB 编译的代码,您需要 codegen,它是 MATLAB Coder 的一部分。见this blog post on generating C code from MATLAB。另一种方法是使用 mcc/mbuild 部署代码,然后使用 loadlibrary 将其重新加载到 MATLAB 中,这是相当扭曲的,我不建议这样做。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多