Ну, у меня есть простой вопрос, по крайней мере, я надеюсь, что это просто. Некоторое время меня интересовала консоль win32. Наш учитель сказал нам, что консоль Windows предназначена только для целей эмуляции DOS и реального режима. Ну, я знаю, что это неправда, потому что приложения DOS запускаются эмулятором, который использует консоль для вывода вывода. Еще одна вещь, которую я узнал, заключается в том, что консоль встроена в Windows с NT. Что ж. Но я не мог найти, как на самом деле консольные программы, написанные для использования консоли. Я использую Visual C++ для программирования (ну, для обучения). Итак, единственное, что мне нужно сделать для использования консоли, - это выбрать консольный проект. Сначала я подумал, что Windows решает, запускать приложение в консоли или пытается запустить приложение в режиме окна. Поэтому я создал программу win32 и попробовал printf(). Ну, я не смог его скомпилировать. Я знаю, что по определению printf() печатает текст или переменные в stdout. Я также обнаружил, что stdout - это консольный интерфейс для вывода. Но я не мог найти то, что на самом деле есть.Консоль Windows
Итак, в основном, что я хочу задать, где разница между консольным приложением и приложением win32. Я думал, что окна запускают консоль, когда она получает команду из функций «console-family». Но, видимо, этого не происходит, поэтому должен быть некоторый код, который фактически управляет окнами для создания консольного интерфейса.
И второй вопрос: когда консоль создается, как распознают Windows, какой консольный терминал используется для какого-либо приложения? Я имею в виду, что на самом деле это stdout? Является ли это областью в памяти или какой-либо оконной процедурой, которая называется? Благодарю.
Спасибо, но меня больше интересовало, как на самом деле связывается с консолью. Какая часть кода, а не источника, но компиляция кода, говорит Windows, что я хочу выделить консоль? Благодарю. –