разница между консолью (/ SUBSYSTEM: CONSOLE) и Windows (/ SUBSYSTEM: WINDOWS) - PullRequest
6 голосов
/ 06 сентября 2011

Может кто-нибудь объяснить, пожалуйста, разницу между этими двумя объявлениями в свойствах компоновщика в Visual Studio 2008 (как можно проще, я новичок в мире C ++), спасибо в advace

edit:если возможно, можете ли вы дать мне две небольшие программы, чтобы показать эффект

Ответы [ 4 ]

9 голосов
/ 06 сентября 2011

/SUBSYSTEM:CONSOLE) для консольных приложений.Вы должны определить main функцию в коде.

/SUBSYSTEM:WINDOWS) для приложений с графическим интерфейсом.Вы должны определить WinMain функцию.

6 голосов
/ 06 сентября 2011

КОНСОЛЬ: Отображается окно консоли.WINDOWS - программа запускается без консольного окна.

Отредактировано, глядя на другие ответы.Обратите внимание, что флаг / SUBSYSTEM не влияет на точку входа в программу.Точка входа в программу определяется параметром компоновщика / ENTRY.Обычно / SUBSYSTEM: CONSOLE имеет "главную" точку входа, а / SUBSYSTEM: WINDOWS имеет "WinMain" точку входа.Но возможно, например, создать приложение с графическим интерфейсом пользователя с точкой входа WinMain и консольным окном.

3 голосов
/ 24 июля 2012

См. здесь . VS2008 автоматизирует некоторые вещи для вас, что привело к путанице.

КОНСОЛЬ Win32-символьное приложение. Операционная система предоставляет консоль для консольных приложений. Если основной или wmain определено для собственного кода, int main (массив ^) определен для управляемый код, или вы создаете приложение полностью с помощью / clr: safe, CONSOLE по умолчанию.

WINDOWS Приложению не требуется консоль, возможно потому, что оно создает свои собственные окна для взаимодействия с пользователем. Если WinMain или wWinMain определен для собственного кода, или WinMain (HISTANCE *, HINSTANCE *, char *, int) или wWinMain (HINSTANCE *, HINSTANCE *, wchar_t *, int) определено для управляемого кода, WINDOWS по умолчанию.

2 голосов
/ 06 сентября 2011

/ SUBSYSTEM: CONSOLE приводит к процессу с консолью, а / SUBSYSTEM: WINDOWS - нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...