文档

coder.BuildConfigclass

包:编码器
超类:

在代码生成构建上下文

描述

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

  • 目标语言

  • 目标代码生成

  • 目标硬件

  • 构建工具链

使用coder.BuildConfig方法,你写的方法coder.ExternalDependency类。

建设

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

方法

getHardwareImplementation 处理的硬件实现对象的副本
getStdLibInfo 得到标准库的信息
getTargetLang 目标代码生成语言
getToolchainInfo 返回工具链的复制信息的处理对象
isCodeGenTarget 确定构建配置代表指定的目标
isMatlabHostTarget 目标是确定硬件实现对象MATLAB主机

复制语义

价值。学习如何价值类影响复制操作,明白了复制对象(MATLAB)。

例子

全部折叠

这个例子展示了如何使用coder.BuildConfig方法访问构建环境coder.ExternalDependency方法。在本例中,您使用:

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

  • coder.BuildConfig.getStdLibInfo得到链接时和运行时库文件扩展名。使用这些信息来更新构建信息。

编写一个类定义为外部库文件包含的功能加法器

% = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =%这类抽象API来图书馆外部加法器。%更新构建信息实现了静态方法%在编译时间和构建时间。% = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =classdefAdderAPI < coder.ExternalDependency% # codegen方法(静态)函数bName = getDescriptiveName bName = (~)“AdderAPI”;结束函数tf = is万博1manbetxSupportedContext (buildContext)如果buildContext.isMatlabHostTarget特遣部队= 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集团);% Non-build文件包装nbFiles =“毒蛇”;nbFiles = strcat (nbFiles execLibExt);buildInfo.addNonBuildFiles (nbFiles,);结束%的API库函数的加法器函数c =加法器(a, b)如果coder.target (MATLAB的)%在MATLAB运行,使用内置的加法c = a + b;其他的%需要包括语句添加到生成的函数代码coder.cinclude (“adder.h”);coder.cinclude (“adder_initialize.h”);coder.cinclude (“adder_terminate.h”);c = 0;%因为MATLAB编码器生成的加法器,使用%管理函数调用之前和之后%与coder.ceval加法器。coder.ceval (“adder_initialize”);c = coder.ceval (“毒蛇”,a, b);coder.ceval (“adder_terminate”);结束结束结束结束

介绍了R2013b

这个主题有帮助吗?