• Matlab高级教程_第三篇:Matlab转码C/C++方式(混编)_第二部分


      这一部分通过一些实例来进行转码和调试的讲解:

    1. 输入变量、输出变量和过程内变量的内存预分配

    函数代码:函数名test

    function [A,B] = test( mark,num,array )%#codegen
    %输入参数中,mark、num是标量,array是向量  
    a=ones(1,5);  
    b=zeros(1,5);  
    % 为A B预分配个内存大小  
    A=ones(1,5);  % 输出变量预分配大小
    B=zeros(1,5);  % 输出变量预分配大小
        if mark==0  
            for i=1:num  
                 if i==1  
                     A=a;  
                     B=b;  
                 else  
                     A=[A,a];  
                     B=[B,b];     
                 end  
            end  
        else  
            for i=1:num  
                 if i==1  
                     A=a;  
                     B=b;  
                 else  
                     A=[A,array];  
                     B=[B,array];     
                 end  
            end  
        end  
    end  

    测试脚本:main

    [A,B]=test( 3,4,[1 2 5 6 8] )

    输入变量内存大小分配上面,最后一个为向量先固定为和设定为inf

    可以看到内存是可以预分配长短的

    2. 生成代码和相关报告内容

    生成相关文件:

    对应MATLAB当中生成的文件

    比较乱还有比较多,包括在lib静态链接库的文件内容,codegen解码内容,测试样本等等。

    我们还是打开MATLAB coder最终生成的报告:

    我们看到在报告生成文件列表当中,只包含了头文件.h和源文件.c格式的文件

    和标准演示在VS当中就是少了main这个演示文档文件,如果要在VS里面调试要把这个演示脚本拿回来

  • 相关阅读:
    团队冲刺第二天站立会议
    团队冲刺第一天站立会议
    Scrum仪式之Sprint计划会议
    软件需求分析
    我们的团队
    No.1_1 java语言基础_学习笔记
    java 基础学习
    LoadRunner 11 安装及破解
    Linux查看程序端口占用情况
    windows 下查看端口占用命令
  • 原文地址:https://www.cnblogs.com/noah0532/p/9511349.html
Copyright © 2020-2023  润新知