我试图从MATLAB内部运行编译的MATLAB代码(通过mcc),这样我就可以避免使用编译代码所需的另一个许可证。我们需要这样做是因为我们一次又一次地运行相同的特定代码部分,并且由于许可证等待而执行停滞。我们不想购买大量的这个特定的许可证,只是为了批量运行相同的部分。有没有办法做到这一点?教程?从matlab运行编译后的matlab
是否可以将.m文件编译为dll/so并将其包装为mex并从MATLAB中即时调用它?我将如何传递和检索复杂的参数?
我试图从MATLAB内部运行编译的MATLAB代码(通过mcc),这样我就可以避免使用编译代码所需的另一个许可证。我们需要这样做是因为我们一次又一次地运行相同的特定代码部分,并且由于许可证等待而执行停滞。我们不想购买大量的这个特定的许可证,只是为了批量运行相同的部分。有没有办法做到这一点?教程?从matlab运行编译后的matlab
是否可以将.m文件编译为dll/so并将其包装为mex并从MATLAB中即时调用它?我将如何传递和检索复杂的参数?
根据 http://www.mathworks.de/products/compiler/description3.html 创建共享库应该是可能的。
关于传递和检索复杂的参数: 如果你打算使用MEX,我认为你应该能够调用你喜欢的任何参数的共享库“主” - 函数,使用mxArray
类型无论如何你必须使用它。
要在MATLAB中运行MATLAB编译的代码,您需要codegen
,它是MATLAB Coder的一部分。请参阅this blog post on generating C code from MATLAB。另一种方法是,使用mcc
/mbuild
部署代码,然后用loadlibrary
将它重新加载到MATLAB中是相当扭曲的,我不会建议它。