繁体   English   中英

在 MATLAB 中创建共享库

[英]Creating a shared library in MATLAB

一位研究人员在 MATLAB 中创建了一个小型模拟,我们希望其他人可以使用它。 我的计划是进行模拟,清理一些东西并将其变成一组函数。 然后我打算将它编译成一个 C 库并使用SWIG创建一个 Python 包装器。 那时,我应该能够从一个小型 Django 应用程序中调用模拟。 至少我希望如此。

我有正确的计划吗? 是否有任何我目前不知道的严重陷阱?

要记住的一件事是 MATLAB 编译器实际上并没有将 MATLAB 代码编译为本机机器指令。 它只是将它包装到一个独立的可执行文件或一个库中,并使用它自己的运行时引擎来运行它。 您将能够在没有安装 MATLAB 的情况下运行您的代码,并且您可以将它与其他语言接口,但它仍然是解释的 MATLAB 代码,因此不会有加速。

我记得我能够将 MATLAB 仿真包装到DLL 文件中,然后从Delphi应用程序中调用它。 它工作得非常好。

我也会先尝试ctypes

  1. 使用 MATLAB 编译器将代码编译成 C。
  2. 将 C 代码编译成 DLL。
  3. 使用 ctypes 从这个 DLL 加载和调用代码

最难的一步可能是 1,但如果您已经了解 MATLAB 并且使用过 MATLAB 编译器,那么您应该不会遇到严重的问题。

也许尝试ctypes而不是 SWIG。 如果它已作为 Python 2.5 的一部分包含在内,那么它一定很好:-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM