C++语言支持
C++是一种基于C语言的通用面向对象编程语言。
启用C++支持
Zephyr支持同时用C和C-++编写的应用程序。但是,要在应用程序中使用C++,您必须通过在应用程序配置文件中选择CONFIG_CPLUSPLUS来配置Zephyr以包含C++支持。
要启用C++支持,编译器工具链还必须包括一个C++编译器,并且所包含的编译器必须由Zephyr构建系统支持。ZephyrSDK,其中包括GNUC++编译器(GCC的一部分),由Zephyr支持,这里记录的特性及其可用性假设使用了ZephyrSDK。
在编译源文件时,构建系统会根据文件的后缀(扩展名)来选择C-++编译器。用cpp或cxx后缀标识的文件使用C-++编译器进行编译。例如,myCplusplusApp.cpp是使用C-++编译的。
注意:
不要对内核、驱动程序或系统初始化代码使用C++。
语言功能
Zephyr目前只提供了C-++功能的一个子集。不支持以下功能:
静态全局对象销毁
特定于操作系统的C++标准库类(例如,std::thread, std::mutex)
虽然不是一个详尽的列表,但也包括了对以下功能的支持:
-
继承
-
虚拟功能
-
虚拟表
-
静态全局对象构造函数
本文档详细介绍了Zephyr如何支持C++编程语言,包括如何启用C++支持,语言功能限制,Zephyr的C++子系统以及C++标准库的使用。C++在Zephyr中的应用主要限于应用程序代码,不支持静态全局对象销毁和特定操作系统类,但允许继承、虚拟函数等特性。C++标准库需通过配置文件启用并与C++编译器工具链配合使用。
订阅专栏 解锁全文
604

被折叠的 条评论
为什么被折叠?



