summaryrefslogtreecommitdiff
path: root/components/libc/cplusplus/cpp11/README_ZH.md
diff options
context:
space:
mode:
Diffstat (limited to 'components/libc/cplusplus/cpp11/README_ZH.md')
-rw-r--r--components/libc/cplusplus/cpp11/README_ZH.md48
1 files changed, 48 insertions, 0 deletions
diff --git a/components/libc/cplusplus/cpp11/README_ZH.md b/components/libc/cplusplus/cpp11/README_ZH.md
new file mode 100644
index 0000000000..e46bcb90c4
--- /dev/null
+++ b/components/libc/cplusplus/cpp11/README_ZH.md
@@ -0,0 +1,48 @@
+# 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'
+ ```