主要内容gydF4y2Ba

coder.reservedNamegydF4y2Ba

生成的代码没有使用指定的标识符的名字gydF4y2Ba

自从R2020bgydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

coder.reservedName (gydF4y2Baname1 name2,…,以gydF4y2Ba)gydF4y2Ba保留标识符gydF4y2Baname1 name2,…,以gydF4y2Ba使用自定义的C / c++代码将生成的代码。如果你把这个指令MATLABgydF4y2Ba®gydF4y2Ba用于代码生成代码,生成的代码不包含标识符gydF4y2Baname1 name2,…,以gydF4y2Ba与你的自定义代码,从而防止名称冲突。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

假设的标识符gydF4y2BaggydF4y2Ba表示在MATLAB代码中全局变量和局部变量在您的自定义C代码中,您通过电话gydF4y2Bacoder.cevalgydF4y2Ba。默认情况下,生成的代码使用相同的标识符,MATLAB使用全局变量。但是,在这种情况下,这种用法在生成的代码会导致局部变量的名称冲突gydF4y2BaggydF4y2Ba自定义代码。这个例子展示了如何指导代码生成器不使用标识符gydF4y2BaggydF4y2Ba在生成的代码。gydF4y2Ba

定义MATLAB函数gydF4y2BacallfoogydF4y2Ba声明一个全局变量gydF4y2BaggydF4y2Ba调用外部C函数gydF4y2Ba喷火gydF4y2Ba,并返回的总和gydF4y2BaggydF4y2Ba的价值,gydF4y2Ba喷火gydF4y2Ba的回报。插入gydF4y2Bacoder.reservedName (“g”)gydF4y2Ba指令,指示代码生成器不使用标识符gydF4y2BaggydF4y2Ba在生成的代码。gydF4y2Ba

函数gydF4y2Bau = callfoo (n)gydF4y2Ba% # codegengydF4y2Ba%储备“g”使用的C函数foogydF4y2Bacoder.reservedName (gydF4y2Ba‘g’gydF4y2Ba);gydF4y2Ba全球gydF4y2Bag u = int32 (0);coder.updateBuildInfo (gydF4y2Ba“addSourceFiles”gydF4y2Ba,gydF4y2Ba“foo.c”gydF4y2Ba);coder.cinclude (gydF4y2Ba“foo”gydF4y2Ba);u = coder.ceval (gydF4y2Ba“foo”gydF4y2Ban);u = u + g;gydF4y2Ba结束gydF4y2Ba

声明函数gydF4y2Ba喷火gydF4y2Ba在C头文件gydF4y2Bafoo。gydF4y2Ba:gydF4y2Ba

int foo (int x);gydF4y2Ba

定义的函数gydF4y2Ba喷火gydF4y2Ba在C源文件gydF4y2Bafoo.cgydF4y2Ba。这个函数接受一个整数输入和返回整数的阶乘。gydF4y2Ba

# include < stdio。h > # include < stdlib。h > # include " foo。h " int foo (int x) {int数;int g = 1;(数= 1;数< = x;计数+ +){g = g *计数;}返回(g);}gydF4y2Ba

生成一个静态库gydF4y2BacallfoogydF4y2Ba。输入指定为一个标量32位整数。gydF4y2Ba

codegengydF4y2Ba配置:自由gydF4y2Ba全球gydF4y2Ba{‘g’, int32 (2)}gydF4y2BacallfoogydF4y2Baarg游戏gydF4y2Ba{int32 (0)}gydF4y2Ba报告gydF4y2Ba

检查生成的头文件gydF4y2Bacallfoo_data.hgydF4y2Ba。全局变量的名称已经更改gydF4y2Bab_ggydF4y2Ba。gydF4y2Ba

extern int b_g;gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

生成的代码没有使用标识符的名称,指定为特征向量。gydF4y2Ba

例子:gydF4y2Ba“myname1”、“myname2”、“myname3”gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba

提示gydF4y2Ba

  • 下面的代码生成设置提供了相同的功能gydF4y2Bacoder.reservedNamegydF4y2Ba。指定生成的代码没有使用标识符的名称:gydF4y2Ba

    • 在一个代码配置对象,设置gydF4y2BaReservedNameArraygydF4y2Ba财产gydF4y2Ba

    • 另外,在gydF4y2BaMATLAB编码器™gydF4y2Ba应用程序,gydF4y2Ba代码的外观gydF4y2Ba选项卡,设置gydF4y2Ba保留的名字gydF4y2Ba参数gydF4y2Ba

扩展功能gydF4y2Ba

C / c++代码生成gydF4y2Ba
生成C和c++代码使用MATLAB®编码器™。gydF4y2Ba

GPU的代码生成gydF4y2Ba
生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。gydF4y2Ba

版本历史gydF4y2Ba

介绍了R2020bgydF4y2Ba