Katya
Katya

Точка входа консольного приложения. В двух словах, чтобы понятно было, что это такое?)



Владимир, спасибо, но я хотел бы чтобы своими словами ответили. Текст я и сам нагуглить смогу) ) Хотелось бы, чтобы без заумной терминологии ответ был, как вы понимаете это, чтобы легче усвоилось )

НН
Николай Николаевич

Немного терминологии. Называть эту статью введением в Win32 было бы неверно — консольное приложение под Windows такое же полноправное Win32 приложение. Что такое консольное приложение? Ах да - да ты ведь регулярно сталкиваешься с такими программами - например мой любимый файл-менеджер FAR является полноценным консольным Win32 приложением. Точка входа для консольных приложений та же, что и в дос программах на Си - это функция main(). Однозначно разделять оконные приложения и консольные тоже, как мне кажется, было бы не правильно - программа, использующая как точку входа в программу WinMain(), как это ни странно, может и не создавать окно, а даже организовать свою консоль (!) вызовом AllocConsole(), а консольное приложение без проблем может создать окно. Возникает лишь один резонный вопрос: зачем это нужно? Консольные приложения хороши своей самодостаточностью — они идеально подходят для утилит командной строки. О достоинствах оконных приложений я говорить не буду - чуть ниже мы перейдем напрямую к оконным приложениям под Windows.

Архитектурно, эти обе категории различаются стабом (stub) который прилинковывается к твоему откомпилированному коду - в данном контексте под стабом подразумевается некий программный код, выполняемый до (и по выходу) передачи управления в main() или WinMain() (в зависимости от типа приложения) . Стабы различны для каждых фирм и часто для разных версий одного и того же продукта - что вполне логично. Например, стаб Борланда не совпадает со стабом от MS, хотя обычно они выполняют одни и те же цели - инициализацию каких-либо внутренних обработчиков и т. п. Исходные тексты стаба (кстати говоря, обычно открыты и исходные тексты рантайм функций - например, вполне реально найти исходный текст знакомых тебе fopen() или printf()) открыты. Например, при инсталяции Visual C++ ты можешь установить и исходные тексты стаба и рантайма (по умолчанию в \CRT\SRC).

Похожие вопросы
Прогрессбар на php с консольным приложением
Написать несложную программку с классомм в консольном приложении
C# Построить циклическое консольное приложение «Decimal тип».
что такое материальная точка? в двух словах
как занести данные консольного приложения в переменную
кто нибудь писал консольный приложения в UBUNTU
Расскажите что такое электричество в двух словах понятным языком.
Что делает это консольное приложение Visual C++
Microsoft Visual Sdudio какие есть другие приложения для того чтобы создать консольное приложение
Что такое высоконагруженное приложение с точки зрения архитектуры?