文档首页/ LiteOS/ 内核/ C++支持/ 开发指导
更新时间:2021-07-08 GMT+08:00
分享

开发指导

功能

功能分类

接口名

描述

使用C++特性的前置条件

LOS_CppSystemInit

初始化C++构造函数

该函数有3个入参:

  • 第一个参数:init_array段的起始地址。
  • 第二个参数:init_array段的结束地址。
  • 第三个参数:标记调用C++特性时的场景,包括BEFORE_SCATTER(在分散加载快速启动阶段使用C++特性)、AFTER_SCATTER(在分散加载非快速启动阶段使用C++特性)、NO_SCATTER(在非分散加载特性中使用C++特性,或者在分散加载中不使用C++特性)。

开发流程

  1. 通过make menuconfig使能C++支持。

    配置项

    含义

    取值范围

    默认值

    依赖

    LOSCFG_KERNEL_CPPSUPPORT

    C++特性的裁剪开关

    YES/NO

    YES

    LOSCFG_KERNEL_EXTKERNEL

  2. 使用C++特性之前,调用函数LOS_CppSystemInit,初始化C++构造函数。
  3. C函数与C++函数混合调用。

    在C++中调用C程序的函数,代码需加入C++包含的宏:

    #ifdef __cplusplus
    #if __cplusplus
    extern "C" {
    #endif /* __cplusplus */
    #endif /* __cplusplus */
    /* code */
    ...
    #ifdef __cplusplus
    #if __cplusplus
    }
    #endif /* __cplusplus */
    #endif /* __cplusplus */

相关文档