Обнаружение -mconsole и -mwindows при компиляции - PullRequest
0 голосов
/ 03 июня 2018

Возможно, это простой или глупый вопрос, но я не могу найти ответ: возможно ли проверить во время компиляции, вызывается ли GCC в Windows с параметром -mwindows или -mconsole?Я хотел бы направить вывод на стандартный вывод или в окно сообщения, в зависимости от этого параметра, например

# ifdef CONSOLE_BUILD
printf ("Hello on stdout");
# elifdef GUI_BUILD
MessageBoxW (NULL, L "Hello on GUI", NULL, MB_OK);
# ENDIF

1 Ответ

0 голосов
/ 03 июня 2018

-mconsole и -mwindows влияют только на компоновщик, а не на компилятор.Вы можете использовать файл спецификаций GCC для добавления -DCONSOLE_BUILD всякий раз, когда указывается -mconsole, но это, по сути, будет пользовательской модификацией GCC.

В качестве альтернативы, существуют различные способы выяснить, еслиКонсольное окно связано с процессом, например, GetConsoleWindow функция (но я не программист Windows).

...