存储类的代码生成MATLAB代码
如果你有一个嵌入式编码器®许可,您可以使用存储类来控制一个全局变量的声明和定义生成的C / c++代码。
上下文中的代码生成存储类是一个规范,它决定了一个变量的声明和定义生成的代码。对于代码生成,存储类C语言是不一样的存储类说明符。
存储类帮助你整合与外部代码生成的代码。你可以看到外部代码生成的变量。你也可以看到外部代码中声明的变量生成的代码。从MATLAB代码生成®代码,您只能使用全局变量存储类。存储类决定:
一个全局变量声明和定义的文件位置。
全局变量是否从外部代码进口或出口供外部使用的代码。
为一个全局变量分配一个存储类,在MATLAB代码中,使用coder.storageClass
函数。只有当你使用一个嵌入式编码项目或配置对象生成C / c++库的或可执行程序代码生成器辨认coder.storageClass
调用。
的语法coder.storageClass
是:
coder.storageClass(global_name, storage_class)
global_name
是一个全局变量的名称,指定为一个特征向量。global_name
必须是一个编译时常量。
storage_class
可以是下列值之一。
存储类 | 描述 |
---|---|
“ExportedGlobal” |
|
“ExportedDefine” |
声明的变量 |
“ImportedExtern” |
作为一个声明了变量 |
“ImportedExternPointer” |
作为一个声明了变量 |
存储类有这些需求和限制:
将存储类分配给一个全局变量声明全局变量的函数。你不需要分配多个函数的存储类。
在你为一个全局变量分配一个存储类,你不能指定一个不同的存储类的全局变量。
你不能为一个常数全局变量分配一个存储类。
一个全局变量
ExportedDefine
存储类必须是一个标量,但不是一个复杂的或多词标量。全局变量只能读而不是写的代码。
如果你不为一个全局变量分配一个存储类,除了声明的位置,变量像它有一个“ExportedGlobal”
存储类。对于一个“ExportedGlobal”
存储类,文件中声明的全局变量
。全局变量时没有存储类,文件中声明的变量entry_point_name
。h
。entry_point_name
_data.h