我試圖從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中是相當扭曲的,我不會建議它。