thesuperbigfrog
6 hours ago
C is a standardized language, meaning that there is a document that defines the language: https://www.open-std.org/jtc1/sc22/wg14/
This means that there is not a single implementation that defines the language, but rather an agreed upon document that any conforming C compiler must implement to be a C compiler.
There are some open source C compilers such as the GNU C compiler in the GNU Compiler Collection (https://github.com/gcc-mirror/gcc) and Clang in the LLVM project (https://clang.llvm.org/get_started.html).
There are also proprietary C compilers such as the Microsoft's C compiler (https://visualstudio.microsoft.com/vs/features/cplusplus/) and the Intel C compiler (https://www.intel.com/content/www/us/en/developer/tools/onea...).
There are many others: https://en.m.wikipedia.org/wiki/List_of_compilers#C_compiler...
Most mature C compilers will specify what version(s) of the C standard they implement so developer users can know what features are available. Many C compilers also implement non-standard extensions to the C language and libraries to be more competitive, overcome language shortcomings, or provide for specialized needs or development targets (e.g. features for embedded targets).