Table of Contents
The set of features available in the GNU C++ library is shaped by several GCC Command Options. Options that impact libstdc++ are enumerated and detailed in the table below.
The standard library conforms to the dialect of C++ specified by the
-std
option passed to the compiler.
By default, g++ is equivalent to
g++ -std=gnu++17 since GCC 11, and
g++ -std=gnu++14 in GCC 6, 7, 8, 9, and 10, and
g++ -std=gnu++98 for older releases.
Table 3.1. C++ Command Options
Option Flags | Description |
---|---|
-std=c++98 or -std=c++03
| Use the 1998 ISO C++ standard plus amendments. |
-std=gnu++98 or -std=gnu++03
| As directly above, with GNU extensions. |
-std=c++11 | Use the 2011 ISO C++ standard. |
-std=gnu++11 | As directly above, with GNU extensions. |
-std=c++14 | Use the 2014 ISO C++ standard. |
-std=gnu++14 | As directly above, with GNU extensions. |
-fno-exceptions
| See exception-free dialect |
-fno-rtti
| As above, but RTTI-free dialect. |
-pthread | For ISO C++11
<thread> ,
<future> ,
<mutex> ,
or <condition_variable> .
|
-latomic | Linking to libatomic
is required for some uses of ISO C++11
<atomic> .
|
-lstdc++fs | Linking to libstdc++fs
is required for use of the Filesystem library extensions in
<experimental/filesystem> .
|
-lstdc++_libbacktrace | Until C++23 support is non-experimental, linking to
libstdc++_libbacktrace.a
is required for use of the C++23 type
std::stacktrace
and related types in
<stacktrace> .
|
-fopenmp | For parallel mode. |
-ltbb | Linking to tbb (Thread Building Blocks) is required for use of the
Parallel Standard Algorithms and execution policies in
<execution> .
|