有没有人有在 MATLAB 中创建共享库的经验?
Posted
技术标签:
【中文标题】有没有人有在 MATLAB 中创建共享库的经验?【英文标题】:Does anyone have experience creating a shared library in MATLAB? 【发布时间】:2010-09-05 12:43:21 【问题描述】:一位研究人员在 MATLAB 中创建了一个小型模拟,我们希望其他人可以使用它。我的计划是进行模拟,清理一些东西并将其变成一组函数。然后我打算将它编译成一个 C 库并使用 SWIG 创建一个 Python 包装器。那时,我应该能够从一个小型 Django 应用程序调用模拟。至少我希望如此。
我有正确的计划吗?有没有其他人做过类似的事情?如果有任何我目前不知道的严重缺陷,您能告诉我吗?
【问题讨论】:
【参考方案1】:我帮不上什么忙,但我记得我能够将 MATLAB 仿真包装到 DLL 中,然后从 Delphi 应用程序中调用它。效果非常好。
【讨论】:
【参考方案2】:也许尝试ctypes 而不是 SWIG。如果它已作为 Python 2.5 的一部分包含在内,那么它一定很好:-)
【讨论】:
【参考方案3】:我也会先尝试 ctypes。
-
使用Matlab编译器将代码编译成C。
将 C 代码编译成 DLL。
使用 ctypes 从这个 DLL 加载和调用代码
最难的一步可能是1,但如果你已经了解Matlab并且使用过Matlab编译器,你应该不会有严重的问题。
【讨论】:
【参考方案4】:要记住的一点是,Matlab 编译器实际上并没有将 Matlab 代码编译成本地机器指令。它只是将其包装成一个独立的可执行文件或一个带有运行它的运行时引擎的库。您可以在没有安装 Matlab 的情况下运行您的代码,并且可以将其与其他语言交互,但它仍将是解释型 Matlab 代码,因此不会有加速。
【讨论】:
以上是关于有没有人有在 MATLAB 中创建共享库的经验?的主要内容,如果未能解决你的问题,请参考以下文章