You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.1 KiB
49 lines
1.1 KiB
10 months ago
|
# cpp 11 support for rt-thread
|
||
|
|
||
|
## 特性
|
||
|
|
||
|
下面是 RT-Thread 支持的 C++ 11 线程特性。
|
||
|
|
||
|
- Atomic.
|
||
|
- Conditional variables.
|
||
|
- Clocks.
|
||
|
- Future.
|
||
|
- Mutexes.
|
||
|
- Threads.
|
||
|
- TLS.
|
||
|
|
||
|
## 如何使用
|
||
|
|
||
|
请注意,在 RT-Thread 中使用 C++ 11,需要修改工具链中的部分文件。请在修改之前,备份好工具链。
|
||
|
|
||
|
1. 使能 c++11
|
||
|

|
||
|
|
||
|
2. 下载 GCC 工具链
|
||
|
|
||
|
```shell
|
||
|
gcc version 10.2.1 20201103 (release) (GNU Arm Embedded Toolchain 10-2020-q4-major)
|
||
|
```
|
||
|
|
||
|
3. 删除下面的文件
|
||
|
|
||
|
```shell
|
||
|
rm -f toolchain/arm-none-eabi/include/c++/10.2.1/thread
|
||
|
rm -f toolchain/arm-none-eabi/include/c++/10.2.1/mutex
|
||
|
rm -f toolchain/arm-none-eabi/include/c++/10.2.1/condition_variable
|
||
|
rm -f toolchain/arm-none-eabi/include/c++/10.2.1/future
|
||
|
rm -f toolchain/arm-none-eabi/include/pthread.h
|
||
|
```
|
||
|
|
||
|
4. 请清除下面文件的内容,保留文件避免编译失败
|
||
|
|
||
|
```shell
|
||
|
toolchain/arm-none-eabi/include/sys/_pthreadtypes.h
|
||
|
```
|
||
|
|
||
|
5. 更新 `rtconfig.py` 文件,添加 c++ 编译参数:
|
||
|
|
||
|
```shell
|
||
|
CXXFLAGS = CFLAGS + ' -std=c++11 -fabi-version=0 -MMD -MP -MF'
|
||
|
```
|