怎么在RT-Thread中使用C++编程

本篇内容介绍了“怎么在RT-Thread中使用C++编程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

专注于为中小企业提供成都网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业市中免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

自RT-Thread 2.0.x版本开始,RT-Thread引入了对C++语言编程的支持,主要包括C++系统底层的支撑。

要在RT-Thread中使用C++语言编程,需要在rtconfig.h配置头文件中定义:

#define RT_USING_CPLUSPLUS

一般的,当使用C++语言编程时,C++代码默认需要底层C运行库的支持,所以建议打开C运行库支持:

#define RT_USING_LIBC

当导入RT_USING_CPLUSPLUS配置时,将加入components\cplusplus目录下的组件代码,主体在crt.h/.cpp等文件中,其中包括了C++中对象创建和销毁的操作符:new、delete,以及__cxa_pure_virtual实现。__cxa_pure_virtual函数会再调用一个未实现的纯虚方法时被调用。

C++中的对象new、delete操作符号按照RT-Thread的规则,以rt_malloc、rt_free的方式来分配和释放内存。

另外,当在程序中定义了全局变量时,全局变量需要提前进行初始化,在RT-Thread/C++版本中,是以cplusplus_system_init初始化函数进行实现,并导出到组件这一级的初始化序列中。<所以当你在RT-Thread/C++代码中使用到C++全局对象时,需要主意它的初始化阶段,不要在全局对象中过多引用底层代码>

目前RT-Thread/C++可以支持模板,异常则需要根据编译器实现的底层C++接口做一定的调整补充(例如当使用GCC时,stdc++需要的

 __throw_bad_alloc/__throw_bad_function_call/__throw_length_error/__throw_out_of_range

接口函数)。而RTTI,则不建议使用。

“怎么在RT-Thread中使用C++编程”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


文章题目:怎么在RT-Thread中使用C++编程
链接URL:http://scyanting.com/article/gcphij.html