MATLAB®编码员™代码生成程序默认生成C代码。生成的C++代码可以使用C++语言中不可用的功能,C++代码更易于阅读和使用。
要生成C++代码,请遵循与生成C代码相同的总体工作流步骤。在命令行生成C代码. 从命令行或代码生成配置设置中选择C++语言选项,或从MATLAB编码器应用程序。
假设您想为函数生成C++代码福
接受零输入的:
在命令行中,使用-朗:c++
这个说明符提供了一种快速和容易的方法来生成C++代码。例如,生成一个C++静态库和C++源代码福
,输入:
编码基因-配置:lib-朗:c++福
在配置对象中,设置塔吉特朗
参数为C++。例如,生成C++动态库,输入:
cfg=coder.config(“dll”); cfg.TargetLang=“C++”;codegen-配置cfg福
从应用程序,在生成代码步骤,选择C++语言按钮。
要了解利用关键C++语言特性的代码生成,请参阅这些帮助主题:
球门 | 更多信息 |
在MATLAB代码中生成类的C++类。 |
|
生成入口点函数作为C++类中的方法。 |
|
为Matlab包生成C++命名空间。将所有生成的代码放置在指定的命名空间中。®在指定的命名空间中编写代码。 |
|
在C++ C++代码和生成代码之间传递动态分配的数组。 |
这些示例说明了这些功能的使用:
如果分别生成C和C++代码,对于同一MATLAB函数,检查生成的源代码,则存在实现差异。以下是一些显著的区别:
生成的C++代码包含重载的函数或方法,它们具有相同的名称,但支持多个签名。C语言不支持函数重载。金宝app
生成的C++代码在不同的命名空间层次结构上重用相同的标识符名称。myType
可以出现在具有顶级命名空间的两个不同命名空间层次结构中我的名字空间1
和我的名字空间2
. C语言不支持名称空间和标识符名称的重用。金宝app
在生成的C代码中,函数头包含#ifdef_uucplusplus
包括指定外部“C”
生成的C函数的标识符。编译器和链接器在C代码中使用这些标识符作为C++项目的一部分。
生成C++代码使用.cpp
C++文件的文件扩展名H
头文件的扩展名。生成的C代码使用C
和H
扩展。
生成的C++代码使用了一些C++类,静态浇铸
,比C中的强制转换语法更显式。
生成的代码定义了Inf
和楠
基于C++和C.的不同机制
生成的C++代码使用了自定义数据类型,如将MATLAB类型映射到生成代码中的类型.
生成的C++代码使用的库不同于生成的C++代码。改变语言标准.