Как отметил Ник Брукс, вы можете использовать вызовы GDI в консольных приложениях, но графика не может отображаться в том же окне, что и ввод / вывод текстовой консоли. Это может не иметь значения, поскольку вы можете рисовать текстовые элементы в GDI.
Упрощенный интерфейс для вызовов GDI в консольных приложениях предоставляется WinBGIm . Это клон DOS BGI API Borland, но с расширениями для обработки изменяемых размеров окон, ввода с помощью мыши и 24-битных цветовых моделей. Поскольку он доступен в виде исходного кода, он также служит хорошей демонстрацией использования GDI таким образом.
Можно иметь как консоль, так и окно GDI, или вы можете отключить окно консоли, указав, что приложение является приложением с графическим интерфейсом (опция -mwindows linker в цепочке инструментов GNU) - обратите внимание, что указывается приложение с графическим интерфейсом на самом деле только подавляет консоль, это действительно приложение с графическим интерфейсом, только если оно имеет цикл сообщений. Наличие консоли хорошо для отладки, поскольку именно там по умолчанию выводятся stdout и stderr.