Работа программы на С/С++ до загрузки главной функции main
Согласно стандарту языка С++ программа начинает работу с функции main( ), или WinMain( ) для графических приложений Windows. Но на самом деле - это лишь соглашение и не более того, хотя и вошедшее в стандарт. Откуда на самом деле стартует программа и что делает стартовый код?
Зачем, если не секрет? Стандарта "С++" на инициализацию и "старт" - нет. После загрузки в память Windows передаёт управление на функцию main(). Это, собственно и является старт программы. До этого она исполнять ничего не может.
Я не совсем правильно задал вопрос, а если точнее, то совсем неправильно =)
Попытка 2-ая:
Согласно стандарту языка С++ программа начинает работу с функции main( ), или WinMain( ) для графических приложений Windows. Но на самом деле - это лишь соглашение и не более того, хотя и вошедшее в стандарт. Откуда на самом деле стартует программа и что делает стартовый код?
Ну, вообще у каждого компилятора свой старт-ап код. В Турбо Си он размещается в файле c0.asm А занимается он много чем, стек инициализирует, например, и запихивает в него аргументы для main(). Вот, разглядывай:
Создаёт глобальные и статические переменные/константы, производит их инициализацию и вызов конструкторов.
К сожалению у меня не открывается этот сайт =((
Может быть есть ещё какие-нибудь ресурсы?
Спасибо. А по поводу первой части вопроса можете что-нибудь сказать или дать ресуры для изучения?
На, читай:
Класс! Огромное спасибо! Именно то, что надо! =))