Zephyr开发指南——编程语言支持( C++语言支持)

本文档详细介绍了Zephyr如何支持C++编程语言,包括如何启用C++支持,语言功能限制,Zephyr的C++子系统以及C++标准库的使用。C++在Zephyr中的应用主要限于应用程序代码,不支持静态全局对象销毁和特定操作系统类,但允许继承、虚拟函数等特性。C++标准库需通过配置文件启用并与C++编译器工具链配合使用。

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::threadstd::mutex)

虽然不是一个详尽的列表,但也包括了对以下功能的支持:

  • 继承

  • 虚拟功能

  • 虚拟表

  • 静态全局对象构造函数

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值