- 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”来导