c++代码生成
MATLAB®编码器™使您能够生成C或c++代码。默认代码生成器生成C代码。生成c++代码可以使用C语言的功能不可用,可使c++代码可读性更强,并且易于使用。
生成c++代码
生成c++代码,遵循相同的总体工作流程步骤,用于生成C代码。例如,请参见在命令行生成C代码。选择c++语言选项从命令行,代码生成配置设置,或者从MATLAB编码器应用程序。
假设您想要为一个函数生成c++代码喷火
接受零输入:
从命令行,可以使用
朗:c++
说明符。这说明符提供快速、简单的方法来生成c++代码。例如,生成c++静态库和c++源代码喷火
,输入:codegen配置:自由朗:c++喷火
在配置对象,设置
TargetLang
参数C + +。例如,要生成一个c++动态库,输入:cfg = coder.config (“dll”);cfg。TargetLang =“c++”;codegen配置cfg喷火
从应用程序的生成代码步骤中,选择c++语言按钮。
c++语言特性支持生成的代码万博1manbetx
了解代码生成,采用c++语言关键特性,引用这些帮助主题:
目标 | 更多的信息 |
生成c++类MATLAB代码的类。 |
|
生成入口点函数作为c++类中的方法。 |
|
为MATLAB软件包生成c++名称空间。将所有生成的代码在一个你指定的名称空间。把所有MathWorks生成的代码®代码在一个指定的名称空间。 |
|
通过动态分配的数组之间定制c++代码和生成的代码。生成c++代码实现这样的数组使用 |
这些例子说明这些功能的使用:
额外的差异生成的C和c++代码
如果你单独生成C和c++代码相同的MATLAB函数,并检查生成的源代码,还有实现的差异。这是一些明显的差异:
生成c++代码包含重载的函数或方法具有相同的名称,但支持多个签名。万博1manbetxC语言不支持重载函数。万博1manbetx
生成c++代码重用相同的标识符名称在不同的命名空间层次结构。例如,同一类型的名字
myType
可以出现在两个不同的名称空间与顶级名称空间层次结构myNamespace_1
和myNamespace_2
。C语言不支持名称空间和重用的标识符的名字。万博1manbetx在生成的C代码,标题包含的函数
# ifdef __cplusplus
包括指定的警卫外来的“C”
标识符生成的C函数。编译器和链接器使用这些标识符在构建C代码作为一个c++项目的一部分。生成c++代码使用
. cpp
c++文件和文件扩展名。h
头文件的扩展。生成C代码使用。c
和。h
扩展。生成c++代码使用了一些c++转换,等等
static_cast
比铸造更明确的语法在C。生成的代码定义的值
正
和南
基于不同的c++和C的机制。生成c++代码使用中描述的自定义数据类型MATLAB的类型映射到生成的代码类型。
生成c++代码使用不同的比生成C代码库。例如,默认语言标准c++和C中描述改变语言标准。