rt-thread-stm32f072/rt-thread/components/libc/cplusplus/cpp11/README_ZH.md

49 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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
![](figures/Snipaste_2021-09-02_16-00-09.png)
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'
```