james 63a6ec96f9 | ||
---|---|---|
.. | ||
armclang | ||
figures | ||
gcc | ||
README.md | ||
README_ZH.md | ||
SConscript | ||
atomic_8.c | ||
thread_local_impl.cpp |
README.md
C++ 11 support for RT-Thread
Features
Here are some features about rt-thread c++11 threading futures.
- Atomic.
- Conditional variables.
- Clocks.
- Future.
- Mutexes.
- Threads.
- TLS.
How To Use
Note that using C++ 11 in rt-thread requires modifying some of the files in the toolchain. Before modifying the tool, back up the tool chain.
-
Enable c++11 support
-
Download toolchain GCC 10.2.1:
gcc version 10.2.1 20201103 (release) (GNU Arm Embedded Toolchain 10-2020-q4-major)
-
Delete the following files:
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
-
Clear the contents of the following files and keep them to prevent compilation failures:
toolchain/arm-none-eabi/include/sys/_pthreadtypes.h
-
Update
rtconfig.py
file. add compilation parameters:CXXFLAGS = CFLAGS + ' -std=c++11 -fabi-version=0 -MMD -MP -MF'