c语言实现png转bmp24_MATLAB转换C语言

今天看了下MATLAB转换C语言这个功能怎么实现,看到网上有一篇写的挺好,便复制了过来,为保护版权,在此附上文章出处:

matlab转C语言 - xing见 - 博客园

https://www.cnblogs.com/xingjian92/p/10183651.html(略有修改)

1.软件版本  matlab R2020a

2.步骤

   (1).编写特定功能的matlab代码,以及其测试文件

   (2).检查matlab代码的兼容性,确保matlab代码都能转换成C/C++代码(并不是所有的matlab代码都能生成C/C++代码)

   (3).生成 .c 文件和mex文件

   (4).在C语言编译器中验证生成的 .c 文件

3.详细步骤

   3.1 编写matlab代码及其测试文件

         1.编写matlab代码

1

2

3

4

5

6

function [c,d] = add(a,b)

  for i =1:1:10

       c = a + i;

       d = b * i;

  end

end

         2.编写测试文件。类似于Verilog语言里面的testbench,给出输入信号,然后调用matlab的功能函数

1

2

3

4

5

6

7

8

clear all;

clc;

close all;

x = 8;

y = 17;

[m,n] = add(x,y);

  3.2 生成步骤

       1.在APP菜单栏里面找到matlab coder ,双击打开

       2.Entry-Point Function 里面选择matlab的功能函数文件。如果是一个大型工程,只需要把最顶层的文件添加进来。它会自动的添加下面的子文件。下一步

       b455eb9dce3ad6fac27d3675041ca0f5.png

       3.弹出如下窗口,这个窗口要求我们指定函数的形参类型。有两种方法,第一种方法:在下面的第1个输入框中,输入被转函数的测试语句,这条语句可以有两种选择:①直接代入一组合理的形参,调用该函数,②选择一个调用该函数的m脚本;这里添加测试文件tb_add。然后点击autodefine input types.系统会自动的为输入变量分配类型,默认是double。也可以手动为输入变量分配类型。需要注意的是需要将matlab的工作路径设置在测试文件所在的路径,不然这一步会提示没定义测试文件。下一步

        b1b485358cda3d191940e9d5e72290d6.png

       4.点击check for issues,系统会生成MEX函数。如果功能函数和测试文件有错误或者哪些matlab语句不能转换成C语言,在这一步都会报出来。如果在开始编写matlab功能函数的时候不知道哪些语句无法生成C语言,就先不用管。然后在这一步根据提示进行修改。下一步

        17d19566a4f78c575bb77da19ccefb56.png

        5.这一步是配置生成C语言的参数。

           1.build type是配置要生成文件的类型,这里选择source code.

           2.hardware Board 这一栏选择None select device below.然后根据自己的硬件板,在device 那一栏选择相应的器件。如果没有硬件板,就选择默认的matlab host computer

           3.ToolChain,根据自己的C语言编译器进行选择相应的编译器(貌似是这样,不确定)

           4.more setting 里面根据自己的需要进行配置,一般可以选择默认配置

           5.点击generate

        fe7db826d67ab5818cd4d38d511c9baf.png

       6.下面是生成代码后的界面,至此就算生成成功了

3159b2505513622585fd34457c641b2e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值