c++ - SIMULINK 模型的 C/C++ 包装器

标签 c++ matlab user-interface wrapper simulink

我在 Visual Studio 和 Eclipse 中有一个非常大的 C/C++ 软件项目。有一些 SIMULINK 模型形式的第三方软件。目前是否可以:

1) 为 SIMULINK 模型编写 C/C++ 包装函数? 2) 从外部环境(如VS或Eclipse C/C++项目)调用功能来执行集成和进一步的任务?

我知道您可以使用 MEX (MATLAB Exec.) 函数,这些函数是为 MATLAB 使用而封装的 C/C++ 或 FORTRAN。但这对我来说并不理想。

用例

我的用例基于建模和仿真,但我的子系统在数据格式方面非常多样化。 50% 在 C/C++ 中,35% 在 SIMULINK 模型中,其余在二进制可执行文件、目标代码、符号数据等中。我正在做一些复杂的系统建模;抱歉,但出于保护原因无法进一步告诉您。

从我得到的答案来看,人们似乎热衷于使用 Mathworks 提供的功能。我的意图是得到更像是是不是的答案,但到目前为止我也得到了很好的解释。

更新

我将不得不评估 SIMULINK 的嵌入式编码器,看看需要多少额外的努力来完善生成的代码。我读到 Embedded Coder 中有生产级代码生成工具;应该很有趣。

最佳答案

根据您的具体要求,有两种选择:

  • 使用 Simulink Coder 将 Simulink 模型转换为 C。这有效地让您脱离了 Simulink 环境,因此将模型功能集成到您现有的环境中与合并任何其他 C 代码是相同的。当然,您需要访问 Simulink Coder 才能执行此操作。

  • 调用 MATLAB Engine .请注意,您不能只调用 Simulink。您调用 MATLAB 并发出各种 MATLAB 命令来加载、执行和查询 Simulink 模型。

关于c++ - SIMULINK 模型的 C/C++ 包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17343942/

相关文章:

c++ - 为什么即使模板类没有基类, `this` 也是类型依赖表达式?

c++ - 自旋锁是否保证获取顺序?

python - 将 .png 文件转换为 .nii(NiFti 文件)

Java - Jframe 不显示按钮标签或文本字段

java - 显示来自另一个类文件的表单

c++ - 递减和取模 - 如何在一行代码中递减负值

c++ - 如何从 boost::property_tree 获取枚举?

image - 最近的 MATLAB 和 Octave 具有更强的 JPEG 压缩并显示伪像

matlab - 在 MatLab 中制作电影

python - python中main函数调用失败