What is the most up-to-date version of C and which compiler works best?
What is the most up-to-date version of C and which compiler works best?
Today C18 is the most up-to-date specification where GCC 8 and Clang 6 are supporting, but essentially nothing major changes over C11.
Few people use C11, the previous specification, and it matters now, because its features are not supported by most compilers and it would be problematic to port. They even adopt something because part of it is to say that some things in the C99 are no longer mandatory.In general C99 is adopted, some prefer C89 which is very late (the first universal specification) and in practice is only needed if it is to be used in very bad or obscure compilers, and if you need to support it in your code, already you have to do other specific things. Rare the compiler that supports 100% of C99 , but what is not supported is already controversial and is avoided using for other reasons.
So in practice what you adopt is a hybrid of C89, C99 and C11.
There is no compiler that works best. Either it works or it does not. Some may do something better, but it's specific and not general.
Whoever uses Windows tends to use the Microsoft compiler. While in Linux they tend to use GCC, in Mac they use Clang, but this one has been adopted by many people, including medium that became standard in FreeBSD. There are some that use Intel for specific optimizations, but it's rare. Others are only used because of platform or specific need or legacy. The former support all major platforms. Yes, contrary to what you think, the Microsoft compiler generates perfect code for Linux, Mac, Android, etc.