Right now almost all libraries of mine, including "final_platform_layer.h" are based on C99.
At the time of creation, this was the best choice for compatibility because compilers had not implemented the full C17 standard yet
But nowadays all major compilers now supports at least C17, which is a bugfix version of C14, which is a bugfix version of C11 and C11 is a extension of C99.
Advantages of that:
- Standardized atomic across all platforms with memory semantics
- _Static_assert without <assert.h>
- _Alignas / _Alignof
- aligned_alloc
- Anonymous structs and unions are not an extension anymore and fully integrated in the standard
- Unicode literals <uchar.h>
Right now almost all libraries of mine, including "final_platform_layer.h" are based on C99.
At the time of creation, this was the best choice for compatibility because compilers had not implemented the full C17 standard yet
But nowadays all major compilers now supports at least C17, which is a bugfix version of C14, which is a bugfix version of C11 and C11 is a extension of C99.
Advantages of that: