声明:本文为作者原创,转载请注明出处
注:RT-Thread以下简称RTT
一些说明
RTT版本:4.0.2
RTT Studio版本:1.0.6
工程创建方式:RTT项目,基于芯片,本例基于STM32F103VETx
步骤
1. 在RTT Settings中开启C++和libc
2. 添加测试示例
- 在applications中添加cxx.cpp,代码如下
/**********************
*cxx.cpp
***********************/
#include "cxx.h"
#include <rtthread.h>
A::A()
: a(0)
{
}
void A::setA(int value)
{
a = value;
}
int A::getA(void)
{
return a;
}
void A::toString()
{
rt_kprintf("A::a = %d\n", a);
}
extern "C" {
int Atest(void)
{
A a;
a.setA(100);
a.toString();
return 0;
}
}
- 继续添加cxx.h,代码如下
-
/************ *cxx.h *************/ #ifndef APPLICATIONS_CXX_H_ #define APPLICATIONS_CXX_H_ class A { public: A(); void setA(int value); int getA(void); void toString(); private: int a; }; #endif /* APPLICATIONS_CXX_H_ */
在main.c中测试,部分代码如下
int main(void)
{
Atest();
return RT_EOK;
}
- 编译即可