How can I use C++11 when programming the Arduino?
I would be fine using either the Arduino IDE or another environment. I am most interested in the core language improvements, not things that require standard library changes.
As of version 1.6. 6, the Arduino IDE enables C++11 by default. For older versions, read on: It is very easy to change the flags for any element of the toolchain, including the assembler, compiler, linker or archiver.
Introduction: Program Arduino Uno in C Language Arduino uses its own language to program Arduino boards,Because its programming language is easy to understand. But it can also be programmed in C language.
Arduino sketches are written in C++.
The language used is based on C and C++, there are a couple of small differences designed to make Arduinos as easy to use as possible. The Arduino IDE will do some pre-processing to the code to avoid some unwanted errors but other than that it's C and C++.
As of version 1.6.6, the Arduino IDE enables C++11 by default.
For older versions, read on:
It is very easy to change the flags for any element of the toolchain, including the assembler, compiler, linker or archiver.
Tested on the Arduino IDE version 1.5.7 (released on July 2014),
For instance,
To enable support for C++11 (C++0x), tested on Arduino IDE versions 1.5.7 and 1.5.8, you will simply add the flag "-std=gnu++11" at the end of the line starting with compiler.cpp.flags=".
It is expected that C++11 is enabled by default in the near future on the Arduino IDE. However, as of version 1.5.8 (Oct 2014) it is still not the case.
Arduino IDE 1.6.6 and newer have C++11 enabled by default (they have the compiler flag "-std=gnu++11" set in the platform.txt file).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With