查看单个帖子
旧 2019-12-10, 16:49   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 链接到MATLAB生成的代码

我正在使用嵌入式MATLAB从.m脚本生成C代码。但是,在生成之后,我剩下大约15个文件(其中大多数是源文件)。如果我想用C语言编写一个独立的main,如何链接到MATLAB生成的代码?有没有一种方法可以不编写我自己的Makefile?

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


回答:
我不知道这是否是我的项目特有的,但是我发现我可以像通常包含其他任何东西一样,包含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 */ }

更多&回答...
poster 当前离线   回复时引用此帖