C++: Какие есть предопределенные макросы (OS и библиотеки)?

Рейтинг: 0Ответов: 1Опубликовано: 24.07.2023

Возникла проблема:

Я знаю, что если используется какая-либо операционная система или библиотека (прим. Например Windows; OpenGL; SFML и др.) используется во время компиляции, то в C++ определяются соответствующие #define.

Можете ли вы написать какие макросы определяются, если программа исполняется в разных операционных системах (По возможности напишите какие определяются #define, если в программе используются самые распространённые библиотеки)?

Ответы

▲ 0Принят

Довольно быстро смогли найти решение вопроса.

_WIN32: Windows (Все версии)

_WIN64: Windows (64-разрядная версия)

__unix__: UNIX

__APPLE__: Apple (MacOS и IOS)

__linux__: Linux

__ANDROID__: Android

__hpux: HP-UX

_AIX: AIX

__sun: Solaris

Если ничего не подходит, значит OC, на которой компилируется программа не является ни одной из вышеперечисленных.

Если вы хотите, вы можете дополнить этот вопрос макросами, которые определяются, когда используются разные библиотеки.