0

How may I Know if I'm using C11 standards or other one?

Hi, lately I´ve been searching for C standards and I found that there are some differences in every standard. So, I want to know how can I be sure if I´m using determited standard and how to change between them.

21st Dec 2018, 4:56 PM
Paul Escobar PCX
Paul Escobar PCX - avatar
2 ответов
0
well that's right. After searching a lot of it, I think it depends on the compiler used. I've downloaded Code Blocks 17.2 with mingw and I found this code to know which standard I'am using: #include <stdio.h> int main(void) { #ifdef __STDC_VERSION__ printf("Aparentemente compatible con __STDC_VERSION__\n"); # if __STDC_VERSION__ == 199901L printf("Este código fue compilando con el estandar C99.\n"); # elif __STDC_VERSION__ == 201112L printf("Este codigo fue compilado con el estandar C11.\n"); # else printf("Este codigo fue compilado con el estandar C94.\n"); # endif /* == */ #endif /* __STDC_VERSION__ */ #ifdef __cplusplus printf("Aparentemente compilado con un compilador de C++\n"); # if __cplusplus >= 201103L printf("Este codigo fue compilado bajo un estandar mayor o igual a C++11.\n"); # else printf("Este codigo fue compilado bajo un estandar menor a C++11."); # endif /* >= */ #endif /* __cplusplus */ #ifdef __STDC__ printf("Aparentemente compatible con __STDC__ y los estandares C89 y C90 ...\n"); #endif /* __STDC__ */ } In this IDE version It shows me : Apparently compatible with __STDC_VERSION__ This code was compiled with C11 standard Apparently compatible with __STDC__ and C89 and C90 standards However, HAPPY TO HELP, I didn´t understand thay way I should put that flag on my code. Would you explain it better, please?
21st Dec 2018, 8:20 PM
Paul Escobar PCX
Paul Escobar PCX - avatar
0
Wow, that is very useful, thanks!
22nd Dec 2018, 12:47 AM
Paul Escobar PCX
Paul Escobar PCX - avatar