文档

编码器。BuildConfig类

包:编码器
超类:

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

描述

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

  • 目标语言

  • 目标代码生成

  • 目标硬件

  • 构建工具链

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

建设

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

方法

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

复制语义

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

例子

全部折叠

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

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

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

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

%================================================================这个类将API抽象为一个外部的Adder库。%它实现用于更新构建信息的静态方法%在编译时和构建时。%================================================================classdefAdderAPI <编码器。ExternalDependency% # codegen方法(静态)函数getDescriptiveName(~“AdderAPI”结束函数tf = is金宝appSupportedContext (buildContext)如果buildContext.isMatlabHostTarget() tf = true;其他的错误('此目标的加法器库不可用');结束结束函数updateBuildInfo (buildInfo buildContext)%获取当前平台的文件扩展名[~, linkLibExt, execLibExt, ~] = buildContext.getStdLibInfo();%添加文件路径hdrFilePath = fullfile (pwd,“codegen”“dll”“毒蛇”);buildInfo.addIncludePaths (hdrFilePath);%的链接文件linkFiles = strcat (“毒蛇”, linkLibExt);linkPath = hdrFilePath;linkPriority ='';linkPrecompiled = true;linkLinkOnly = true;组='';buildInfo。addLinkObjects (linkFiles linkPath,linkPriority, linkPrecompiled, linkLinkOnly, group);%用于打包的非构建文件nbFiles =“毒蛇”;nbFiles = strcat(nbFiles, execLibExt);buildInfo.addNonBuildFiles (nbFiles'''');结束%API for library function 'adder'函数C = add (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编码器生成的加法器,使用%客房部功能在通话前后%加法器与编码器。ceval。coder.ceval (“adder_initialize”);c = coder.ceval (“毒蛇”, a, b);coder.ceval (“adder_terminate”);结束结束结束结束

介绍了R2013b