Matlab2012Ra由M文件产生C代码

1.准备M文件 simpleProduct.m

function c = simpleProduct(a,b)
c=a*b;

2.在matlab工作界面输入coder,输入工程名称 simpleProduct

Matlab2012Ra由M文件产生C代码_第1张图片

3.在工程中添加simpleProduct.m文件

Matlab2012Ra由M文件产生C代码_第2张图片

4.定义输入变量a,b的数据类型

Matlab2012Ra由M文件产生C代码_第3张图片

5.生成mex函数,测试程序是否正确

Matlab2012Ra由M文件产生C代码_第4张图片

6.生成C代码,勾选Generate code only

Matlab2012Ra由M文件产生C代码_第5张图片

7.在当前目录的  codegen/lib/simpleProduct/ 下可以看到生成一堆.c 和 .h 文件

$ ls codegen/lib/simpleProduct/
buildInfo.mat   rt_nonfinite.h              simpleProduct_ref.rsp
html            rtw_proj.tmw                simpleProduct_rtw.mk
rtGetInf.c      rtwtypes.h                  simpleProduct_terminate.c
rtGetInf.h      simpleProduct.c             simpleProduct_terminate.h
rtGetNaN.c      simpleProduct.h             simpleProduct_types.h
rtGetNaN.h      simpleProduct_initialize.c
rt_nonfinite.c  simpleProduct_initialize.h

8.新建一C的工程,将codegen/lib/simpleProduct/ 下的所有.c和.h文件均复制到该工程,并新建一 main.c文件,其内容如下:

#include<stdlib.h> 
#include<stdio.h> 
#include"simpleProduct.h" 
#include"simpleProduct_initialize.h" 
#include"simpleProduct_terminate.h" 

int main()   
{   
	simpleProduct_initialize();   
	printf("%lf\n",simpleProduct(5,6));   
	simpleProduct_terminate();   
	return 0;   
}


9.编译运行

$ gcc -o main  simpleProduct_initialize.c simpleProduct.c simpleProduct_terminate.c rt_nonfinite.c rtGetInf.c rtGetNaN.c main.c 

$ ./main 

30.000000






























































你可能感兴趣的:(Matlab2012Ra由M文件产生C代码)