Есть ли способ распечатать имя компилятора и версию, которая была использована для компиляции программы, например:C: Информация о компиляторе во время выполнения
printf("This is compiled with %s version %s\n", COMPILER, COMPILER_VERSION);
?
Есть ли способ распечатать имя компилятора и версию, которая была использована для компиляции программы, например:C: Информация о компиляторе во время выполнения
printf("This is compiled with %s version %s\n", COMPILER, COMPILER_VERSION);
?
Вы можете сделать это с помощью препроцессора:
Ссылка: http://predef.sourceforge.net/precomp.html
Для GCC:
#if defined(__GNUC__)
# if defined(__GNUC_PATCHLEVEL__)
# define __GNUC_VERSION__ (__GNUC__ * 10000 \
+ __GNUC_MINOR__ * 100 \
+ __GNUC_PATCHLEVEL__)
# else
# define __GNUC_VERSION__ (__GNUC__ * 10000 \
+ __GNUC_MINOR__ * 100)
# endif
#endif
Для MSVC просто использовать:
_MSC_FULL_VER
Нет, способ получить имя компилятора сам по себе является компилятором: -P.
gcc предоставляет макрос __VERSION__
.
+1: вы избили меня тоже;) –
Err ... Что делать, если я использовал компиляторы Microsoft? – Arafangion
_MSC_FULL_VER Посмотрите на ссылку. Это ссылка для определенного спецификатора префиксов компилятора. –