VxWorks 6.9 内核编程指导之读书笔记 -- C++开发

本文介绍了在VxWorks 6.9中进行C++编程的相关配置,如INCLUDE_CTORS_DTORS等,强调了C++任务启动需使用VX_FP_TASK选项。此外,还讨论了C和C++代码间的调用、信号处理器和ISR中使用C++的注意事项,以及C++模块下载和munching过程。
摘要由CSDN通过智能技术生成
  • 5.1 介绍
  • 针对C++的VxWorks配置
  • C++头文件
  • 使用C++启动任务
  • C和C++之前调用代码
  • C++编译器说明
  • 在信号处理和ISR中使用C++
  • 下载C++编写的内核模块
  • C++编译器的不同
  • 命名空间
  • C++异常处理
  • C++示例

介绍

注意:风河C++编译器与GNU C++二进制文件不兼容。

针对C++的VxWorks配置

默认情况下,VxWorks只包含了最小的C++支持。可以通过包含所有或部分组件来支持C++的全部或部分功能,

INCLUDE_CTORS_DTORS

默认包含了该组件。确保编译器产生初始化函数,包括C++静态对象的初始化,在内核启动时调用。

INCLUDE_CPLUS

包含C++应用程序的基本支持。通常与INCLUDE_CPLUS_LANG一起使用。

INCLUDE_CPLUS_LANG

包含C++语言特性的支持,如new,delete和异常处理

INCLUDE_CPLUS_IOSTREAM

包含所有类库功能。

INCLUDE_CPLUS_DEMANGLER

该组件在使用INCLUDE_CPLUS和INCLUDE_SYM_TBL组件时被自动增加。

C++头文件

每个编译器都有自己的头文件和类库,不必用户指定所在的文件夹,编译器将在特定目录查找。

使用C++启动任务

任何使用C++启动的任务都必须使用VX_FP_TASK选项。默认,从主机工具发起的任务自动带有该选项(如Wind Shell)。

注意:没有使用该选项,将在运行时导致很难调试的、不可预期的浮点寄存器的损坏。C++的异常处理器将使用浮点寄存器。该选项确保产生异常时,浮点寄存器将被保存和恢复。

C和C++代码之间的调用

如果在C中调用C++的代码,则必须使用extern “C”来导

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值