自定义代码生成后构建过程
对于某些应用程序,您可能希望控制在代码生成之后、编译之前发生的构建过程的各个方面。例如,您可能希望指定编译器或链接器选项。您可以自定义代码生成后发生的构建处理MATLAB®编码器™用于MEX函数、C/ c++库和C/ c++可执行文件。
您可以使用以下方法自定义构建:
的
coder.updateBuildInfo
函数在你的MATLAB代码代码生成后的命令
使用code . updatebuildinfo自定义构建
要从MATLAB代码中定制代码生成后的构建:
在MATLAB代码中,调用
coder.updateBuildInfo
更新构建信息对象。您可以指定一个构建信息对象方法和该方法的输入参数。看到coder.updateBuildInfo
而且构建信息方法.函数从MATLAB代码生成代码
codegen
命令或项目界面。
使用后代码生成命令自定义构建
使用post-code-generation命令定制构建:
构建信息对象
在构建的开始,MATLAB编码器生成过程将以下项目、生成选项和依赖项信息记录到生成信息对象,环球套票。BuildInfo
:
编译器选项
预处理器标识符定义
链接器选项
源文件和路径
包含文件和路径
预编译的外部库
使用构建信息方法访问构建信息对象中的此信息。编写代码生成后命令解释如何使用函数来控制代码生成后的构建。
代码生成完成后,MATLAB编码器创建一个buildInfo.mat
文件在构建文件夹中。
构建信息方法
使用这些方法来访问或向构建信息对象写入数据。语法为:
buildInfo。method_name(input_arg1、……input_argn)
目的:添加编译器选项以生成信息。
语法:
addCompileFlags (
buildinfo
,选项
,组
)组
是可选的。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
选项
-
字符数组或字符数组的单元格数组,用于指定要添加到生成信息中的编译器选项。该函数将每个选项添加到编译器选项向量的末尾。例如,如果在单个字符数组中指定多个选项
“- wall子”
,该函数将选项作为单个元素添加到向量中。例如,如果你加上“- wall子”
然后“o3”
时,向量由两个元素组成,如下所示。'-Zi -Wall' '-O3'
-
组
(可选) -
将指定的编译器选项分组的字符数组或字符数组的单元格数组。您可以使用组来
记录特定编译器选项的使用
检索或应用编译器选项的集合
你可以申请
一个或多个编译器选项的单个组名
编译器选项集合的多个组名(仅适用于非makefile构建环境)
…… 指定 组
作为一个…对编译器选项应用一个组名 字符数组。 对编译器选项应用不同的组名 字符数组的单元格数组,使组名的数量与指定的元素数量相匹配 选项
.
-
描述:
的
addCompileFlags
函数将指定的编译器选项添加到项目的生成信息中。MATLAB编码器将编译器选项存储在一个向量中。该函数根据指定选项的顺序将选项添加到向量的末尾。除了所要求的
buildinfo
而且选项
参数,您可以使用一个可选参数组
将你的选项分组。
目的:添加预处理器宏定义来构建信息。
语法:
addDefines (
buildinfo
,macrodefs
,组
)组
是可选的。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
macrodefs
-
字符数组或字符数组的单元格数组,指定要添加到对象的预处理器宏定义。该函数将每个定义添加到编译器选项向量的末尾。例如,如果在单个字符数组中指定多个定义
“-DRT -DDEBUG”
,该函数将选项作为单个元素添加到向量中。例如,如果你加上“-DPROTO -DDEBUG”
然后“-DPRODUCTION”
时,向量由两个元素组成,如下所示。-dproto -ddebug -dproduction
-
组
(可选) -
将指定定义分组的字符数组或字符数组的单元格数组。您可以使用组来
记录特定宏定义的使用
检索或应用宏定义组
你可以申请
一个或多个宏定义的单个组名
宏定义集合的多个组名(仅适用于非makefile构建环境)
…… 指定 组
作为一个…将一个组名应用于宏定义 字符数组。 对宏定义应用不同的组名 字符数组的单元格数组,使组名的数量与指定的元素数量相匹配 macrodefs
.
-
描述:
的
addDefines
函数将指定的预处理器宏定义添加到项目的构建信息中。的MATLAB编码器软件将定义存储在一个向量中。该函数根据指定定义的顺序将定义添加到向量的末尾。除了所要求的
buildinfo
而且macrodefs
参数,您可以使用一个可选参数组
将你的选项分组。
用途:添加构建信息的包含文件。
语法:
addIncludeFiles (
buildinfo
,文件名
,路径
,组
)路径
而且组
是可选的。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
文件名
-
字符数组或字符数组的单元格数组,用于指定要添加到构建信息中的包含文件的名称。
文件名可以包含通配符,只要点分隔符(
.
)。的例子是“* *”。
,‘* . h”
,‘* . h *’
.该函数将文件名按指定的顺序添加到向量的末尾。
该函数删除重复的包含文件项
指定为输入
包含文件向量中已经存在
有一个与匹配文件名的路径相匹配的路径
重复条目由路径和相应文件名的精确匹配组成。
-
路径
(可选) -
字符数组或字符数组的单元格数组,用于指定包含文件的路径。该函数将路径按指定的顺序添加到向量的末尾。如果指定单个路径作为字符数组,该函数将对所有文件使用该路径。
-
组
(可选) -
字符数组或字符数组的单元格数组,其中指定的组包括文件。您可以使用组来
文档使用特定的包含文件
检索或应用包含文件组
你可以申请
包含文件的单个组名
一个组名对应多个包含文件
多个包含文件的集合的多个组名
…… 指定 组
作为一个…应用一个组名来包含文件 字符数组。 应用不同的组名来包含文件 字符数组的单元格数组,使指定的组名的数量与指定的元素数量相匹配 文件名
.
-
描述:
的
addIncludeFiles
函数将指定的包含文件添加到项目的生成信息中。的MATLAB编码器软件将包含文件存储在一个向量中。该函数将文件名按照指定的顺序添加到向量的末尾。除了所要求的
buildinfo
而且文件名
参数时,可以指定为可选的路径
而且组
参数。可以将每个可选参数指定为字符数组或字符数组的单元格数组。如果你指定一个可选参数作为… 功能…… 字符数组 将字符数组应用于它添加到构建信息中的包含文件 字符数组的单元格数组 将每个字符数组与指定的包含文件配对。因此,单元格数组的长度必须与指定的单元格数组的长度匹配 文件名
.如果您选择指定
组
,但省略路径
,指定一个空字符向量(”
)路径
.
用途:添加包含路径来构建信息。
语法:
addIncludePaths (
buildinfo
,路径
,组
)组
是可选的。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
路径
-
字符数组或字符数组的单元格数组,指定要添加到生成信息的包含文件路径。该函数将路径按指定的顺序添加到向量的末尾。
该函数删除重复的包含文件项
指定为输入
包含路径向量中已经存在
有一个与匹配文件名的路径相匹配的路径
重复条目由路径和相应文件名的精确匹配组成。
-
组
(可选) -
字符数组或字符数组的单元格数组,其中指定的组包括路径。您可以使用组来
文档使用特定的包含路径
检索或应用包含路径的组
你可以申请
包含路径的单个组名
一个组名对应多个包含路径
多个组名到多个包含路径的集合
来 指定 组
作为一个应用一个组名来包含路径 字符数组。 应用不同的组名来包含路径 字符数组的单元格数组,使指定的组名的数量与指定的元素数量相匹配 路径
.
-
描述:
的
addIncludePaths
函数将指定的包含路径添加到项目的生成信息。的MATLAB编码器软件将包含路径存储在一个向量中。该函数将路径按指定的顺序添加到向量的末尾。除了所要求的
buildinfo
而且路径
参数时,可以指定一个可选参数组
论点。你可以指定组
作为字符数组或字符数组的单元格数组。如果您指定一个可选参数为 这个函数 字符数组 将字符数组应用于它添加到构建信息中的包含路径。 字符数组的单元格数组 将每个字符数组与指定的包含路径配对。因此,单元格数组的长度必须与指定的单元格数组的长度匹配 路径
.
目的:添加链接选项来构建信息。
语法:
addLinkFlags (
buildinfo
,选项
,组
)组
是可选的。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
选项
-
字符数组或字符数组的单元格数组,用于指定要添加到生成信息中的链接器选项。该函数将每个选项添加到链接器选项向量的末尾。例如,如果在单个字符数组中指定多个选项
“md gy的
,该函数将选项作为单个元素添加到向量中。例如,如果你加上“md gy的
然后“t”
时,向量由两个元素组成,如下所示。'-MD -Gy' '-T'
-
组
(可选) -
将指定的链接器选项分组的字符数组或字符数组的单元格数组。您可以使用组来
记录特定链接器选项的使用
检索或应用链接器选项组
你可以申请
一个或多个链接器选项的单个组名
链接器选项集合的多个组名(仅适用于非makefile构建环境)
来 指定 组
作为一个。将一个组名应用到链接器选项 字符数组。 对链接器选项应用不同的组名 字符数组的单元格数组,使组名的数量与指定的元素数量相匹配 选项
.
-
描述:
的
addLinkFlags
函数将指定的链接器选项添加到项目的生成信息中。的MATLAB编码器软件将链接器选项存储在一个向量中。该函数根据指定选项的顺序将选项添加到向量的末尾。除了所要求的
buildinfo
而且选项
参数,您可以使用一个可选参数组
将你的选项分组。
用途:添加链接对象来构建信息。
语法:
addLinkObjects (
buildinfo
,linkobjs
,路径
,优先级
,预编译
,linkonly
,组
)除了
buildinfo
,linkobjs
,路径
是可选的。如果指定了可选参数,则必须指定它前面的可选参数。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
linkobjs
-
字符数组或字符数组的单元格数组,用于指定要添加到生成信息中的可链接对象的文件名。该函数将在函数调用中指定的文件名添加到一个向量中,该向量按优先级顺序存储对象文件名。如果指定多个具有相同优先级的对象(请参阅
优先级
如下所示),函数会根据在单元格数组中指定对象文件名的顺序将它们添加到向量中。该函数删除重复的链接对象
指定为输入
已存在于可链接对象的文件名向量中
有一个路径匹配的可链接对象文件名的路径
重复条目由路径的精确匹配和相应的可链接对象文件名组成。
-
路径
-
字符数组或字符数组的单元格数组,用于指定到可链接对象的路径。如果指定字符数组,则路径应用于所有可链接的对象。
-
优先级
(可选) -
一个数值或数值向量,指示每个指定链接对象的相对优先级。值越低,优先级越高。缺省优先级为1000。
-
预编译
(可选) -
逻辑值
真正的
或假
或者一个逻辑值向量,指示每个指定的链接对象是否已预编译。指定
真正的
如果链接对象已预先构建,以便更快地编译和链接,并且存在于指定的位置。如果预编译为
假
(默认值),则MATLAB编码器生成过程在生成文件夹中创建链接对象。如果
linkonly
=真正的
. -
linkonly
(可选) -
逻辑值
真正的
或假
或者一个逻辑值向量,指示每个指定的链接对象是否仅用于链接。指定
真正的
如果MATLAB编码器构建过程不应该构建指定的链接对象,也不应该在构建指定的链接对象的makefile中生成规则,但是应该在链接最终的可执行文件时包含它。例如,您可以使用它来合并源文件不可用的链接对象。如果linkonly
是真,值预编译
将被忽略。如果
linkonly
是假
(默认值),构建链接对象的规则被添加到makefile中。在本例中,的值预编译
确定扩展所添加规则的哪个小节,START_PRECOMP_LIBRARIES
(真正的
)或START_EXPAND_LIBRARIES
(假
).该软件执行扩展START_PRECOMP_LIBRARIES
或START_EXPAND_LIBRARIES
仅当代码生成目标使用模板makefile方法构建代码时才使用宏。 -
组
(可选) -
将指定的链接对象分组的字符数组或字符数组的单元格数组。您可以使用组来
记录特定链接对象的使用
检索或应用链接对象组
你可以申请
可链接对象的单个组名
单个组名指向多个可链接对象
多个可链接对象的集合的多个组名
出现。 指定 组
作为一个对链接对象应用一个组名 字符数组。 对链接对象应用不同的组名 字符数组的单元格数组,使组名的数量与指定的元素数量相匹配 linkobjs
.的默认值
组
是{"}
.
-
描述:
的
addLinkObjects
函数将指定的链接对象添加到项目的构建信息中。的MATLAB编码器软件将链接对象按相对优先级顺序存储在一个向量中。如果多个对象具有相同的优先级或未指定优先级,则该函数将根据指定的顺序将对象添加到向量中。除了所要求的
buildinfo
,linkobjs
,路径
参数,您可以指定可选参数优先级
,预编译
,linkonly
,组
.你可以指定路径
而且组
作为字符数组或字符数组的单元格数组。如果你指定 路径
或组
作为一个…功能…… 字符数组 将字符数组应用于它添加到构建信息中的对象。 字符数组的单元格数组 将每个字符数组与指定的对象配对。因此,单元格数组的长度必须与指定的单元格数组的长度匹配 linkobjs
.类似地,您可以指定
优先级
,预编译
,linkonly
作为一个值或值的向量。如果你指定 优先级
,预编译
,或linkonly
作为一个这个函数 价值 将该值应用于它添加到构建信息中的对象。 值向量 将每个值与指定的对象配对。因此,向量的长度必须与指定的单元格数组的长度匹配 linkobjs
.如果选择指定一个可选参数,则必须指定它前面的可选参数。方法来指定对象是预编译的
预编译
参数时,必须指定优先级
前面的参数预编译
.您可以传递缺省优先级值1000,如下所示。addLinkObjects(myBuildInfo, 'test1', '/proj/lib/lib1', 1000, true);
目的:添加与构建无关的文件以获取构建信息。
语法:
addNonBuildFiles (
buildinfo
,文件名
,路径
,组
)路径
而且组
是可选的。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
文件名
-
字符数组或字符数组的单元格数组,用于指定要添加到生成信息中的非生成相关文件的名称。
文件名可以包含通配符,只要点分隔符(
.
)。的例子是“* *”。
,‘* . dll”
,' *。D *’
.该函数将文件名按指定的顺序添加到向量的末尾。
该函数删除重复的非构建文件项
已存在于非构建文件向量中
有一个与匹配文件名的路径相匹配的路径
重复条目由路径和相应文件名的精确匹配组成。
-
路径
(可选) -
字符数组或字符数组的单元格数组,用于指定非生成文件的路径。该函数将路径按指定的顺序添加到向量的末尾。如果指定单个路径作为字符数组,该函数将对所有文件使用该路径。
-
组
(可选) -
对指定的非生成文件进行分组的字符数组或字符数组的单元格数组。您可以使用组来
记录特定非构建文件的使用情况
检索或应用非构建文件组
你可以申请
非构建文件的单个组名
多个非构建文件的单个组名
多个非构建文件的集合的多个组名
来 指定 组
作为一个。对非构建文件应用一个组名 字符数组。 对非构建文件应用不同的组名 字符数组的单元格数组,使指定的组名的数量与指定的元素数量相匹配 文件名
.
-
描述:
的
addNonBuildFiles
函数将指定的非构建相关文件(例如最终可执行文件所需的DLL文件或README文件)添加到项目的构建信息中。的MATLAB编码器软件将非构建文件存储在一个向量中。该函数将文件名按照指定的顺序添加到向量的末尾。除了所要求的
buildinfo
而且文件名
参数时,可以指定为可选的路径
而且组
参数。可以将每个可选参数指定为字符数组或字符数组的单元格数组。如果您指定一个可选参数为 这个函数 字符数组 将字符数组应用于它添加到生成信息中的非生成文件。 字符数组的单元格数组 将每个字符数组与指定的非构建文件配对。因此,单元格数组的长度必须与指定的单元格数组的长度匹配 文件名
.如果您选择指定
组
,但省略路径
,指定一个空字符向量(”
)路径
.
目的:添加源文件以获取构建信息。
语法:
addSourceFiles (
buildinfo
,文件名
,路径
,组
)路径
而且组
是可选的。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
文件名
-
字符数组或字符数组的单元格数组,用于指定要添加到生成信息中的源文件的名称。
文件名可以包含通配符,只要点分隔符(
.
)。的例子是“* *”。
,‘* . c”
,‘* . c *’
.该函数将文件名按指定的顺序添加到向量的末尾。
该函数删除重复的源文件条目
指定为输入
源文件向量中已经存在
有一个与匹配文件名的路径相匹配的路径
重复条目由路径和相应文件名的精确匹配组成。
-
路径
(可选) -
指定源文件路径的字符数组或字符数组的单元格数组。该函数将路径按指定的顺序添加到向量的末尾。如果指定单个路径作为字符数组,该函数将对所有文件使用该路径。
-
组
(可选) -
对指定源文件进行分组的字符数组或字符数组的单元格数组。您可以使用组来
记录特定源文件的使用情况
检索或应用源文件组
你可以申请
源文件的单个组名
一个组名对应多个源文件
多个源文件集合的多个组名
来 指定 集团
作为一个对源文件应用一个组名 字符数组。 对源文件应用不同的组名 字符数组的单元格数组,使指定的组名的数量与指定的元素数量相匹配 文件名
.
-
描述:
的
addSourceFiles
函数将指定的源文件添加到项目的生成信息中。的MATLAB编码器软件将源文件存储在一个向量中。该函数将文件名按照指定的顺序添加到向量的末尾。除了所要求的
buildinfo
而且文件名
参数时,可以指定为可选的路径
而且组
参数。可以将每个可选参数指定为字符数组或字符数组的单元格数组。如果您指定一个可选参数为。 这个函数 字符数组 将字符数组应用于它添加到构建信息中的源文件。 字符数组的单元格数组 将每个字符数组与指定的源文件配对。因此,单元格数组的长度必须与指定的单元格数组的长度匹配 文件名
.如果您选择指定
组
,但省略路径
,指定一个空字符向量(”
)路径
.
目的:为构建信息添加源路径。
语法:
addSourcePaths (
buildinfo
,路径
,组
)组
是可选的。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
路径
-
字符数组或字符数组的单元格数组,用于指定要添加到生成信息中的源文件路径。该函数将路径按指定的顺序添加到向量的末尾。
该函数删除重复的源文件条目
指定为输入
源路径向量中已经存在
有一个与匹配文件名的路径相匹配的路径
重复条目由路径和相应文件名的精确匹配组成。
请注意
的MATLAB编码器软件不检查指定的路径是否有效。
-
组
(可选) -
将指定的源路径分组的字符数组或字符数组的单元格数组。您可以使用组来
记录特定源路径的使用
检索或应用源路径组
你可以申请
源路径的单个组名
一个组名对应多个源路径
多个源路径集合的多个组名
来 指定 组
作为一个对源路径应用一个组名 字符数组。 对源路径应用不同的组名 字符数组的单元格数组,使指定的组名的数量与指定的元素数量相匹配 路径
.
-
描述:
的
addSourcePaths
函数将指定的源路径添加到项目的生成信息中。的MATLAB编码器软件将源路径存储在一个向量中。该函数将路径按指定的顺序添加到向量的末尾。除了所要求的
buildinfo
而且路径
参数时,可以指定一个可选参数组
论点。你可以指定组
作为字符数组或字符数组的单元格数组。如果您指定一个可选参数为 这个函数 字符数组 将字符数组应用于它添加到构建信息中的源路径。 字符数组的单元格数组 将每个字符数组与指定的源路径配对。因此,字符数组或单元格数组的长度必须与指定的单元格数组的长度匹配 路径
.请注意
的MATLAB编码器软件不检查指定的路径是否有效。
目的:添加模板生成文件(TMF)令牌,为生成文件提供构建时信息。
语法:
addTMFTokens (
buildinfo
,tokennames
,tokenvalues
,组
)
是可选的。组
参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
tokennames
-
字符数组或字符数组的单元格数组,用于指定TMF令牌的名称(例如,
“| > CUSTOM_OUTNAME < | '
),以添加到构建信息中。该函数按照指定的顺序将令牌名称添加到向量的末尾。如果指定的令牌名称已经存在于vector中,则第一个实例优先,其值用于替换。
-
tokenvalues
-
字符数组或字符数组的单元格数组,用于指定与前面指定的TMF令牌名称对应的TMF令牌值。该函数按照指定的顺序将令牌值添加到向量的末尾。
-
组
(可选) -
将指定的TMF令牌分组的字符数组或字符数组的单元格数组。您可以使用组来
记录特定TMF令牌的使用
检索或应用TMF令牌组
你可以申请
TMF令牌的单个组名
一个组名对应多个TMF令牌
多个TMF令牌集合的多个组名
来 指定 组
作为一个将一个组名应用到TMF令牌 字符数组。 对TMF令牌应用不同的组名 字符数组的单元格数组,使指定的组名的数量与指定的元素数量相匹配
.tokennames
-
描述:
调用
addTMFTokens
函数提供构建时信息,以帮助自定义生成文件。类中指定的令牌addTMFTokens
函数调用必须在为项目选择的目标的模板makefile (TMF)中适当地处理。例如,如果您的邮政编码生成命令调用addTMFTokens
来添加一个TMF令牌| > CUSTOM_OUTNAME < |
的值指定生成的输出文件名,则TMF必须对| > CUSTOM_OUTNAME < |
达到预期的结果。的
addTMFTokens
函数将指定的TMF令牌名称和值添加到项目的构建信息中。的MATLAB编码器软件将TMF令牌存储在一个向量中。该函数将标记按照指定的顺序添加到向量的末尾。除了所要求的
,buildinfo
,tokennames
参数时,可以指定一个可选参数tokenvalues
论点。你可以指定组
作为字符数组或字符数组的单元格数组。组
如果您指定一个可选参数为 这个函数 字符数组 将字符数组应用于它添加到构建信息中的TMF令牌。 字符数组的单元格数组 将每个字符数组与指定的TMF令牌配对。因此,单元格数组的长度必须与指定的单元格数组的长度匹配
.tokennames
目的:查找并添加包含(头)文件来构建信息。
语法:
findIncludeFiles (
buildinfo
,extPatterns
)extPatterns
是可选的。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
extPatterns
(可选) -
字符数组的单元格数组,指定函数要搜索的文件扩展名的模式。每个模式
必须从
*。
可以包含字母数字和下划线(_)字符的组合
默认模式为
* . h
.有效模式的例子包括
* . h
* . hpp
*以下方式*
-
描述:
的
findIncludeFiles
函数根据指定的文件扩展名模式在源文件中搜索包含文件,并在项目的构建信息对象中记录包含路径
将找到的文件及其完整路径添加到构建信息对象
删除重复条目
目的:从构建信息中获取编译器选项。
语法:
选项
= getCompileFlags (buildinfo
,includeGroups
,excludeGroups
)includeGroups
而且excludeGroups
是可选的。输入参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
includeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定希望函数返回的编译器标志组。
-
excludeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定不希望函数返回的编译器标志组。
-
输出参数:
存储在项目构建信息中的编译器选项。
描述:
的
getCompileFlags
函数返回存储在项目构建信息中的编译器选项。使用可选的includeGroups
而且excludeGroups
参数,您可以有选择地包括或排除函数返回的选项组。如果您选择指定
excludeGroups
和省略includeGroups
,指定一个空字符向量(”
)includeGroups
.
目的:从构建信息中获取预处理器宏定义。
语法:
[
macrodefs
,标识符
,值
= getdefine (buildinfo
,includeGroups
,excludeGroups
)includeGroups
而且excludeGroups
是可选的。输入参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
includeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定希望函数返回的宏定义组。
-
excludeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定不希望函数返回的宏定义组。
-
输出参数:
存储在项目构建信息中的预处理器宏定义。该函数以三个向量的形式返回宏定义。
向量 描述 macrodefs
完整的宏定义 - d
前缀标识符
宏的名称 值
赋给宏的值(第一个等号右边指定的任何值);默认值为空字符向量( ”
)描述:
的
getDefines
函数返回存储在项目构建信息中的预处理器宏定义。当函数返回一个定义时,它会自动返回加一个
- d
对于定义,如果- d
在将定义添加到构建信息时未指定改变小写字母
- d
来- d
使用可选的
includeGroups
而且excludeGroups
参数时,可以有选择地包括或排除函数要返回的定义组。如果您选择指定
excludeGroups
和省略includeGroups
,指定一个空字符向量(”
)includeGroups
.
目的:从项目的构建信息中获取所有文件。
语法:
[
fPathNames
,的名字
= getFullFileList(buildinfo
,fcase
)fcase
是可选的。输入参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
fcase
(可选) -
字符向量
“源”
,“包括”
,或“nonbuild”
.如果省略该参数,该函数将返回来自构建信息对象的所有文件。如果你指定 这个函数 “源”
从构建信息对象返回源文件。 “包括”
返回包括来自构建信息对象的文件。 “nonbuild”
从生成信息对象返回非生成文件。
-
输出参数:
存储在项目构建信息中的文件的完全限定文件路径和文件名。
请注意
通常不需要解析项目构建信息中每个文件的路径,因为项目构建的makefile将基于源路径和规则解析文件位置。因此,
getFullFileList
仅当添加文件时路径显式地与该文件关联,或者调用updateFilePathsAndExtensions
在调用之前解析文件路径和扩展名getFullFileList
.描述:
的
getFullFileList
函数返回存储在项目构建信息中的所有文件或选定类型(源文件、包含文件或非构建文件)的完全限定路径和名称。
目的:从构建信息中获取包含文件。
语法:
文件
= getIncludeFiles (buildinfo
,concatenatePaths
,replaceMatlabroot
,includeGroups
,excludeGroups
)includeGroups
而且excludeGroups
是可选的。输入参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
concatenatePaths
-
逻辑值
真正的
或假
.如果你指定 这个函数 真正的
连接并返回每个文件名及其对应的路径。 假
只返回文件名。 -
replaceMatlabroot
-
逻辑值
真正的
或假
.如果你指定 这个函数 真正的
替换令牌 $ (MATLAB_ROOT)
使用MATLAB安装文件夹的绝对路径。假
不替换令牌 $ (MATLAB_ROOT)
. -
includeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定希望函数返回的包含文件组。
-
excludeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定不希望函数返回的包含文件组。
-
输出参数:
存储在项目构建信息中的包含文件的名称。
描述:
的
getIncludeFiles
函数返回存储在项目构建信息中的包含文件的名称。使用concatenatePaths
而且replaceMatlabroot
参数来控制函数是否在返回的输出中包含路径和MATLAB根定义。使用可选的includeGroups
而且excludeGroups
参数时,您可以有选择地包含或排除函数返回的包含文件组。如果您选择指定
excludeGroups
和省略includeGroups
,指定一个空字符向量(”
)includeGroups
.
目的:从构建信息中获取包含路径。
语法:
文件
= getIncludePaths (buildinfo
,replaceMatlabroot
,includeGroups
,excludeGroups
)includeGroups
而且excludeGroups
是可选的。输入参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
replaceMatlabroot
-
逻辑值
真正的
或假
.如果你指定 这个函数 真正的
替换令牌 $ (MATLAB_ROOT)
使用MATLAB安装文件夹的绝对路径。假
不替换令牌 $ (MATLAB_ROOT)
. -
includeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定希望函数返回的包含路径组。
-
excludeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定不希望函数返回的包含路径组。
-
输出参数:
存储在构建信息对象中的包含文件的路径。
描述:
的
getIncludePaths
函数返回存储在项目构建信息中的包含文件路径的名称。使用replaceMatlabroot
参数来控制函数是否在返回的输出中包含MATLAB根定义。使用可选的includeGroups
而且excludeGroups
参数时,可以选择性地包含或排除函数返回的包含文件路径组。如果您选择指定
excludeGroups
和省略includeGroups
,指定一个空字符向量(”
)includeGroups
.
目的:从构建信息中获取链接选项。
语法:
选项
= getLinkFlags (buildinfo
,includeGroups
,excludeGroups
)includeGroups
而且excludeGroups
是可选的。输入参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
includeGroups
(可选) -
字符数组或单元格数组,指定希望函数返回的链接器标志组。
-
excludeGroups
(可选) -
字符数组或单元格数组,用于指定不希望函数返回的链接器标志组。若要排除组而不包括特定组,请指定空单元格数组(
”
)includeGroups
.
-
输出参数:
存储在项目构建信息中的链接器选项。
描述:
的
getLinkFlags
函数返回存储在项目构建信息中的链接器选项。使用可选的includeGroups
而且excludeGroups
参数,您可以有选择地包括或排除函数返回的选项组。如果您选择指定
excludeGroups
和省略includeGroups
,指定一个空字符向量(”
)includeGroups
.
目的:从构建信息中获取与构建无关的文件。
语法:
文件
= getNonBuildFiles (buildinfo
,concatenatePaths
,replaceMatlabroot
,includeGroups
,excludeGroups
)includeGroups
而且excludeGroups
是可选的。输入参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
concatenatePaths
-
逻辑值
真正的
或假
.如果你指定 这个函数 真正的
连接并返回每个文件名及其对应的路径。 假
只返回文件名。 -
replaceMatlabroot
-
逻辑值
真正的
或假
.如果你指定 这个函数 真正的
替换令牌 $ (MATLAB_ROOT)
使用MATLAB安装文件夹的绝对路径。假
不替换令牌 $ (MATLAB_ROOT)
. -
includeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定希望函数返回的非生成文件组。
-
excludeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定不希望函数返回的非生成文件组。
-
输出参数:
存储在项目生成信息中的非生成文件的名称。
描述:
的
getNonBuildFiles
函数返回存储在项目构建信息中的非构建相关文件的名称,例如最终可执行文件所需的DLL文件或README文件。使用concatenatePaths
而且replaceMatlabroot
参数来控制函数是否在返回的输出中包含路径和MATLAB根定义。使用可选的includeGroups
而且excludeGroups
参数时,可以选择性地包含或排除函数返回的非构建文件组。如果您选择指定
excludeGroups
和省略includeGroups
,指定一个空字符向量(”
)includeGroups
.
目的:从项目的构建信息中获取源文件。
语法:
srcfiles
= getSourceFiles (buildinfo
,concatenatePaths
,replaceMatlabroot
,includeGroups
,excludeGroups
)includeGroups
而且excludeGroups
是可选的。输入参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
concatenatePaths
-
逻辑值
真正的
或假
.如果你指定 这个函数 真正的
连接并返回每个文件名及其对应的路径。 假
只返回文件名。 请注意
通常不需要解析项目构建信息中每个文件的路径,因为项目构建的makefile将基于源路径和规则解析文件位置。因此,为指定true
concatenatePaths
仅当添加文件时路径显式地与该文件关联,或者调用updateFilePathsAndExtensions
在调用之前解析文件路径和扩展名getSourceFiles
. -
replaceMatlabroot
-
逻辑值
真正的
或假
.如果你指定 这个函数 真正的
替换令牌 $ (MATLAB_ROOT)
使用MATLAB安装文件夹的绝对路径。假
不替换令牌 $ (MATLAB_ROOT)
. -
includeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定希望函数返回的源文件组。
-
excludeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定不希望函数返回的源文件组。
-
输出参数:
存储在项目构建信息中的源文件的名称。
描述:
的
getSourceFiles
函数返回存储在项目构建信息中的源文件的名称。使用concatenatePaths
而且replaceMatlabroot
参数来控制函数是否在返回的输出中包含路径和MATLAB根定义。使用可选的includeGroups
而且excludeGroups
参数时,您可以有选择地包括或排除函数返回的源文件组。如果您选择指定
excludeGroups
和省略includeGroups
,指定一个空字符向量(”
)includeGroups
.
目的:从构建信息中获取源路径。
语法:
文件
= getSourcePaths (buildinfo
,replaceMatlabroot
,includeGroups
,excludeGroups
)includeGroups
而且excludeGroups
是可选的。输入参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
replaceMatlabroot
-
逻辑值
真正的
或假
.如果你指定 这个函数 真正的
替换令牌 $ (MATLAB_ROOT)
使用MATLAB安装文件夹的绝对路径。假
不替换令牌 $ (MATLAB_ROOT)
. -
includeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定希望函数返回的源路径组。
-
excludeGroups
(可选) -
字符数组或字符数组的单元格数组,用于指定不希望函数返回的源路径组。
-
输出参数:
存储在项目构建信息中的源文件的路径。
描述:
的
getSourcePaths
函数返回存储在项目生成信息中的源文件路径的名称。使用replaceMatlabroot
参数来控制函数是否在返回的输出中包含MATLAB根定义。使用可选的includeGroups
而且excludeGroups
参数时,您可以有选择地包括或排除函数返回的源文件路径组。如果您选择指定
excludeGroups
和省略includeGroups
,指定一个空字符向量(”
)includeGroups
.
目的:包生成的代码在zip文件重新定位。
语法:
packNGo (
buildinfo
,propVals
…)propVals
是可选的。参数:
-
buildinfo
-
从构建文件夹加载的构建信息。
-
propVals
(可选) -
指定打包细节的属性-值对的单元格数组。
来 指定属性 与价值 将在zip文件中生成的代码文件打包为单个平面文件夹。 “packType”
“平”
(默认)在主zip文件中按层次结构打包生成的代码文件。
的值
“nestedZipFiles”
属性确定主zip文件是否包含辅助zip文件或文件夹。“packType”
“分层”
创建一个包含三个辅助zip文件的主zip文件:
mlrFiles.zip
-您的matlabroot
文件夹树sDirFiles.zip
- build文件夹中的和下面的文件otherFiles.zip
-所需的文件不在matlabroot
或开始
文件夹树
辅助zip文件中的文件路径相对于主zip文件的根文件夹。
“nestedZipFiles”
真正的
(默认)创建一个包含文件夹的主zip文件,例如,构建文件夹和 matlabroot
.“nestedZipFiles”
假
为主zip文件指定文件名。 “文件名”
'
的名字
'默认值:
“untitled.zip”
如果省略. zip
文件扩展名,函数添加它。在zip文件中只包含构建代码所需的最小头文件。 “minimalHeaders”
真正的
(默认)包含在zip文件的Include路径中找到的头文件。 “minimalHeaders”
假
包括 超文本标记语言
代码生成报告的文件夹。“includeReport”
真正的
(默认是假
)直接 packNGo
不会在解析错误时出错。“ignoreParseError”
真正的
(默认是假
)直接 packNGo
如果文件丢失,则不会出错。“ignoreFileMissing”
真正的
(默认是假
)
-
描述:
的
packNGo
Function将以下代码文件打包到压缩的zip文件中,以便您可以在另一个开发环境中重新定位、解包和重新构建它们。源文件(例如,
.c
而且. cpp
文件)头文件(例如,
.h
而且. hpp
文件)与构建无关的文件(例如,
. dll
文件所需的最终可执行文件和. txt
信息文件)包含构建信息对象的mat文件(
.mat
文件)
使用此函数重新定位文件,以便可以针对特定的目标环境重新编译文件,或者在未安装MATLAB的开发环境中重新编译文件。
默认情况下,
packNGo
函数将文件打包为压缩文件中的平面文件夹结构,foo.zip
.zip文件位于当前工作文件夹中。可以像前面描述的那样,通过指定属性名和值对来定制输出。
重新定位zip文件后,使用标准zip实用程序解压缩文件。
限制:
属性的使用适用于以下限制
packNGo
功能:该函数只对源文件进行操作,例如
* . c
,* . cpp
,* . h
文件。该函数不支持编译标志、定义或生成文件。万博1manbetx该函数不打包使用默认配置设置生成的示例主源文件和头文件。要打包示例主文件,请配置代码生成以生成和编译示例主函数,生成代码,然后打包构建文件。
可能会包含不必要的文件。该函数可能会从源路径中查找其他文件,并包括构建信息中记录的路径,即使这些路径没有被使用。
packNGo
不打包为MEX目标生成的代码。
参见:
目的:更新项目构建信息中缺少路径和文件扩展名的文件。
语法:
updateFilePathsAndExtensions (
buildinfo
,扩展
)扩展
是可选的。参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
扩展
(可选) -
字符数组的单元格数组,指定要在更新处理中搜索和包括的文件的扩展名(文件类型)。缺省情况下,该函数搜索带有
.c
扩展。该函数根据在单元格数组中列出扩展名的顺序检查文件并更新路径和扩展名。例如,如果您指定{' c ' ' . cpp '}
,文件夹中包含myfile.c
而且myfile.cpp
,一个实例myfile
更新为myfile.c
.
-
描述:
使用项目构建信息中已经存在的路径
updateFilePathsAndExtensions
函数检查生成信息中的文件引用是否需要使用路径或文件扩展名更新。这个函数特别适用于维护需要使用文件扩展名的工具链的构建信息
更新给定项目的多个自定义生成信息实例
目的:更改项目构建信息中使用的文件分隔符。
语法:
updateFileSeparator (
buildinfo
,分隔符
)参数:
-
buildinfo
-
构建存储在
环球套票。BuildInfo
. -
分隔符
-
一个字符数组,指定文件分隔符\ (Windows®)或/ (UNIX®),应用于文件路径规范。
-
描述:
的
updateFileSeparator
函数将项目构建信息中当前文件分隔符(/或\)的实例更改为指定的文件分隔符。文件分隔符的默认值与MATLAB命令返回的值匹配
filesep
.对于基于makefile的构建,可以使用MAKEFILE_FILESEP
宏在模板makefile中。如果GenerateMakefile
参数,则MATLAB编码器计算后,软件将覆盖默认分隔符并更新构建信息PostCodeGenCommand
配置参数。
编写代码生成后命令
代码生成后命令是一个MATLAB文件,通常调用从构建信息对象获取数据或向构建信息对象添加数据的函数。例如,您可以在变量中访问项目名称projectName
和环球套票。BuildInfo
对象。buildInfo
.您可以将命令编写为脚本或函数。
如果你把命令写成 | 然后 |
---|---|
脚本 | 脚本可以直接访问项目(顶级函数)名称和构建信息。 |
函数 | 函数可以接收项目名称和构建信息作为参数。 |
如果代码生成后命令调用用户定义函数,请确保这些函数位于MATLAB路径上。如果构建过程无法找到命令中使用的函数,则该过程将失败。
您可以调用构建信息函数的组合来定制代码生成后的构建。看到在命令行中编写和使用后代码生成命令
将后代码生成命令编写为脚本
集PostCodeGenCommand
到脚本名称。
在命令行输入:
CFG = code .config('lib');cfg。PostCodeGenCommand = 'ScriptName”;
将Post-Code-Generation命令写成函数
集PostCodeGenCommand
函数签名。将命令定义为函数时,可以指定任意数量的输入参数。如果要访问项目名称,请包含projectName
作为一个论证。如果要修改或访问构建信息,请添加buildInfo
作为一个论证。
在命令行输入:
CFG = code .config('lib');cfg。PostCodeGenCommand = 'FunctionName(projectName buildInfo) ';
使用代码生成后命令自定义生成
在编写代码生成后命令之后,必须在构建处理中包含此命令。可以从项目设置对话框或命令行中包含该命令。
中使用后代码生成命令MATLAB编码器应用程序。
打开生成对话框中的生成代码页,单击生成箭头
.
点击更多的设置.
在自定义代码选项卡,设置Post-code-generation命令参数。
如何使用
PostCodeGenCommand
选项取决于您是将命令作为脚本还是函数编写。看到在命令行中使用后代码生成命令而且在MATLAB编码器应用程序中使用后代码生成命令。.
在命令行中使用后代码生成命令
设置PostCodeGenCommand
代码生成配置对象的选项编码器。MexCodeConfig
,编码器。CodeConfig
或编码器。EmbeddedCodeConfig
).
如何使用PostCodeGenCommand
选项取决于您是将命令作为脚本还是函数编写。看到在命令行中使用后代码生成命令而且在MATLAB编码器应用程序中使用后代码生成命令。.
在命令行中编写和使用后代码生成命令
下面的示例演示如何将后代码生成命令作为函数编写和使用。的setbuildargs
函数将构建信息对象作为参数,设置链接选项,并将它们添加到构建信息对象。
创建一个后代码生成命令作为函数,
setbuildargs
,这需要buildInfo
对象作为参数:正在编译的示例需要pthread支持。万博1manbetx-lpthread标志请求在构建中包含pthread库linkFlags = {'-lpthread'};buildInfo.addLinkFlags (linkFlags);
创建一个代码生成配置对象。设置
PostCodeGenCommand
选项“setbuildargs (buildInfo)”
因此这个命令被包含在构建过程中:CFG = code .config('mex');cfg。PostCodeGenCommand = 'setbuildargs(buildInfo)';
使用
配置
选项,生成一个将配置对象传递给的MEX函数codegen
.例如,对于函数喷火
没有输入参数的:CFG foo
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。