Определите тип ОС/компилятор с помощью элегантного кода C/C++ (особенно gcc/g++)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Определите тип ОС/компилятор с помощью элегантного кода C/C++ (особенно gcc/g++)

Сообщение Anonymous »

Я знаю, что могу определить тип компилятора (например, gcc: http://sourceforge.net/p/predef/wiki/Compilers/). А как насчет g++? Могу ли я использовать макрос __GNUC__ также для тестирования, если я использую g++?

Еще вопрос по типу ОС. Я знаю, я могу это сделать:

Код: Выделить всё

#if defined(__linux__)
/* Linux. --------------------------------------------------- */

#endif
Но как сделать это элегантным решением? Сделать это первой функцией в main? Я имею в виду:

Код: Выделить всё

#include 

int compiler()
{
#if defined (__GNUC__)
return 0;
#elif defined (_MSC_VER)
return 1;
#else
return -1;
#endif;
}

int os()
{
#if defined(_WIN32) || defined(_WIN64)
return 0;
#elif defined(__linux__)
return 1;
#else
return -1;
#endif
}

int main(int argc, char **argv)
{
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/17208967/detect-os-type-compiler-with-elegant-c-c-code-especially-gcc-g[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»