Finding a supported version of C standard
At the time of writing, it has been almost 8 years since C11 came out. Therefore, it would be expected that many compilers should support the standard, and this is indeed the case. Open source compilers such as gcc
and clang
both support C11 perfectly, and they can switch back to C99 or even older versions of C if needed. In this section, we show how to use specific macros to detect the C version and, depending on the version, how to use the supported features.
The first thing that is necessary when using a compiler that supports different versions of the C standard is being able to identify which version of the C standard is currently in use. Every C standard defines a special macro that can be used to find out what version is being used. So far, we have used gcc
in Linux and clang
in macOS systems. As of version 4.7, gcc
offers C11 as one of its supported standards.
Let's look at the following example and see how already-defined...