2016-07-21 68 views
-1

我想將C庫集成到MATLAB/Simulink中。我發現我們只能集成共享庫文件。請讓我知道我們是否可以整合圖書館。在MATLAB中集成C庫

回答

0

對於MATLAB集成C庫,你有以下幾種選擇:

  1. 使用MEX文件(用於與單一入口點積分功能)。
    參考:http://www.mathworks.com/help/matlab/write-cc-mex-files.html
  2. 在Linux中使用DLL(在windows中)和共享對象。
    參考:http://www.mathworks.com/help/matlab/ref/loadlibrary.html

當你需要使用下性能的原因(擴大Matlab的功能),可以考慮使用MEX文件。

當您需要使用具有許多功能的現有庫時,請使用DLL或SO。

有你有內MATLAB接口C實現時應遵循許多規則:

  • Matlab的矩陣的內存佈局是列爲主,C是排大。
  • 對指針使用C函數需要特別注意(在Matlab中沒有指針)。
  • 在MATLAB中沒有enum s,您需要傳遞一個字符串,或者用int代替C enum
  • 在MATLAB中沒有union支持。
  • 還有很多其他的限制,我想不出來。

您不能從MATLAB訪問C庫。
這不像是從MATLAB訪問Java庫(如果你有這個意思):​​