如果您有嵌入式编码器®许可证,您可以使用存储类来控制生成的C / C ++代码中全局变量的声明和定义。
在代码生成的上下文中,a存储类是一个规范,用于确定生成代码中变量的声明和定义。对于代码生成,术语存储类与C语言术语不同存储类说明符。
存储类可帮助您使用外部代码集成生成的代码。您可以对外部代码进行可见的生成变量。您还可以在生成的代码可见的外部代码中声明的变量。用于来自MATLAB的代码生成®代码,您只能使用具有全局变量的存储类。存储类确定:
全局变量声明和定义的文件放置。
是否从外部代码导入全局变量或导出外部代码使用。
要将存储类分配给全局变量,请在MATLAB代码中使用编码器.StorageClass.
功能。只有当您使用嵌入式编码器项目或配置对象时,代码生成器才能识别编码器.StorageClass.
呼叫。
语法编码器.StorageClass.
是:
编码器.StorageClass(global_name,storage_class)
global_name.
是全局变量的名称,指定为字符向量。global_name.
必须是编译时常数。
storage_class
可以是以下值之一。
存储类 | 描述 |
---|---|
“ExportedGlobal” |
|
“ExportedDefine” |
用a声明变量 |
'ImportedExtern' |
将变量声明为 |
'importedExterterner' |
将变量声明为 |
存储类具有这些要求和限制:
在声明全局变量的函数中将存储类分配给全局变量。您不必在多个函数中分配存储类。
在将存储类赋值给全局变量后,不能再将另一个存储类赋值给该全局变量。
您无法为常量全局变量分配存储类。
一个全局变量ExportedDefine.
存储类必须是标量,但不是复杂或多字量标。必须只读取全局变量,而不是在代码中写入。
如果您未将存储类分配给全局变量,除了声明位置之外,该变量的行为就像它一样“ExportedGlobal”
存储类。对于一个“ExportedGlobal”
存储类,全局变量在文件中声明
。当全局变量没有存储类时,该变量将在文件中声明entry_point_name.
. h
。entry_point_name.
_data.h