前提条件:matlab安装有c编译器,32位的自带LCC编译器,64位自行解决,查看方式:
Mex –setup;
为什么要使用这种方法?因为有一些算法功能用C语言编写比较简单啊,还有就是C语言的移植性比较好啊,等等
具体步骤:
- 首先编写库文件和头文件,我是参考的自动代码生成那本书,具体库文件EmMath.c如下:

为了省事,数组后面全为零,哈哈,太懒了
EmMath.h头文件如下:

好了,c的工作完成了,接下来就是编写生成的脚本了。
- 为了省事将头文件和库文件放到工作目录下,如下图:

- 编写脚本文件,脚本如下:具体含义以及数据类型对应关系查看 legacy_code(‘help’),很全的,什么都有。

- 运行脚本,坐等生成模型,但是确保c中无语法错误啊

Sfun_Em_Math.c是自动生成的,名字自己起的,sfun_Em_Math.mexw32是编译器生成的编译文件,生成的模型如下::

5、大功告成,可以使用啦,别急如果只进行仿真到此结束,如果想生成代码就需要添加一条语句生成TLC文件
legacy_code('sfcn_tlc_generate',lct_spec);
好了,到此结束战斗
最后
以上就是典雅抽屉最近收集整理的关于c mex 函数使用Legacy Code Tool 编写的全部内容,更多相关c内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复