主要内容

编码器。BuildConfig类

包:编码器
超类:

在代码生成期间构建上下文

描述

代码生成器创建该类的对象以方便访问构建上下文.构建上下文封装了代码生成器使用的设置,包括:

  • 目标语言

  • 代码生成目标

  • 目标硬件

  • 构建工具链

使用编码器。BuildConfig方法中的方法编码器。ExternalDependency类。

建设

代码生成器创建该类的对象。

方法

getHardwareImplementation 获取硬件实现对象副本的句柄
getStdLibInfo 获取标准图书馆信息
getTargetLang 获取目标代码生成语言
getToolchainInfo 返回工具链信息对象的副本句柄
isCodeGenTarget 确定生成配置是否代表指定的目标
isMatlabHostTarget 确定硬件实现对象目标是否为MATLAB主机

复制语义

价值。要了解值类如何影响复制操作,请参见复制对象

例子

全部折叠

这个例子展示了如何使用编码器。BuildConfig中访问构建上下文的方法编码器。ExternalDependency方法。在这个例子中,你可以使用:

  • coder.BuildConfig.isMatlabHostTarget验证代码生成目标为MATLAB®宿主如果主机不是MATLAB报错。

  • coder.BuildConfig.getStdLibInfo获取链接时和运行时库文件扩展名。使用此信息更新构建信息。

为包含该函数的外部库编写类定义文件加法器

%================================================================该类将API抽象为外部加法器库。它实现了用于更新构建信息的静态方法%在编译时和构建时。%================================================================classdefAdderAPI <编码器。ExternalDependency% # codegen方法(静态)函数bName = getDescriptiveName(~) bName =“AdderAPI”结束函数tf = is金宝appSupportedContext(buildContext)如果buildContext.isMatlabHostTarget() tf = true;其他的错误('此目标无法使用加法器库');结束结束函数updateBuildInfo (buildInfo buildContext)获取当前平台的文件扩展名[~, linklibeext, execlibeext, ~] = buildContext.getStdLibInfo();添加文件路径hdrFilePath = fullfile(pwd,“codegen”“dll”“毒蛇”);buildInfo.addIncludePaths (hdrFilePath);%链接文件linkFiles = strcat(“毒蛇”, linkLibExt);linkPath = hdrFilePath;linkPriority ='';linkPrecompiled = true;linkLinkOnly = true;组='';buildInfo。addLinkObjects (linkFiles linkPath,...链接优先级,linkPrecompiled, linkLinkOnly,组);%用于打包的非构建文件nbFiles =“毒蛇”;nbFiles = strcat(nbFiles, execLibExt);buildInfo.addNonBuildFiles (nbFiles'''');结束库函数'加法器'的%API函数C =加法器(a, b)如果coder.target (MATLAB的%在MATLAB中运行,使用内置加法C = a + b;其他的将所需的include语句添加到生成的函数代码中coder.cinclude (“adder.h”);coder.cinclude (“adder_initialize.h”);coder.cinclude (“adder_terminate.h”);C = 0;因为MATLAB Coder生成了加法器,使用% call前后的客房管理功能%加法器与code .ceval。coder.ceval (“adder_initialize”);C = code .ceval(“毒蛇”, a, b);coder.ceval (“adder_terminate”);结束结束结束结束

版本历史

在R2013b中引入