链接到MATLAB生成的代码

时间:2009-10-28 18:22:56

标签: c matlab code-generation

我正在使用嵌入式MATLAB从.m脚本生成C代码。然而,在这一代之后我留下了大约15个文件(大多数是源文件)。如果我想在C中编写一个独立的main,我该如何链接到MATLAB生成的代码?有没有办法在不编写自己的Makefile的情况下执行此操作?


所以我想出了如何使用matlab生成的代码生成静态库(.a)...我可以构建动态加载的库(.so)吗?

1 个答案:

答案 0 :(得分:2)

我不知道这对我的项目是否特别,但我发现我可以像通常包含其他内容一样包含Matlab生成的文件。

我将生成的matlab源文件(.c和.h)直接复制到我的项目中,然后我必须将它们专门添加到我的项目中。 (我想知道这是否与我使用的IDE有关)。

然后,在您创建的main.c中,只需添加#include“yourGeneratedFile.h”行。现在,在main.c中,您应该可以使用Matlab创建的任何函数。

例如,在一个例子中:

在main.c中,包含头文件并使用您需要的功能

  #include "SPIUARTDemo30f.h"

//further down in the file

  SPIUARTDemo30f_step();  //using the function I asked Matlab to generate

SPIUARTDemo30f.h和SPIUARTDemo30f.c是Matlab生成的文件:

在.h中你会看到

extern void SPIUARTDemo30f_step(void);

并且,如果你看一下.c,你会发现:

void SPIUARTDemo30f_step(void)
{
  /* lots of code */
}