Цитата(sergeeff @ Apr 24 2009, 01:33)

И в результате всей совместной деятельности форумчан и напряжения вашей головы, процесс сборки программы стал более понятен?
Да. И наверное не только мне, а всем прочим ламерам в C++, которые тоже только начинают изучение C++ и приходят на этот форум
P.S.Но смею Вас заверить, что достигнув некоторого уровня понимания процесса получения исполняемого файла из нескольких библиотечных и нескольких файлов юзверя, мои ламерские вопросы не закончатся

Так что готовьтесь.

Тем более что на вопросы, которые я писал выше ответов так и не последовало (вопросы про enum, допустимые символы в строковом литерале и функцию main)
Цитата(MrYuran @ Apr 24 2009, 08:24)

Вообще вместо разных умных (и глупых) книжек советую попробовать слепить какой-нибудь хелловорд в GCC, причём без разных навороченных оболочек. Просветление наступает очень быстро.
Да фазу «Хелло ворлда» я прошёл уже месяца 3 назад. После чего стал «копать глубже». А потом, я не понимаю, как, написав «Хелло ворлд», и получив исполняемый файл нажатием одной единственной кнопочки «Rebuild All» я пойму как оно там всё «в кишках» компилятора происходит? От меня же это всё скрыто. Я вижу только одну кнопочку.
Цитата(MrYuran @ Apr 24 2009, 08:24)

Кстати, будете смеяться, но большинство гуёвых прогеров, которые пользуются разными визуальными примочками типа дельфи-билдера, никогда не видели функцию main()
Некоторые даже не подозревают, что она всё-таки существует
Точно также как я не подозревал (до того как начал "копать") как происходит процесс создания исполняемого файла когда работал только с кнопкой "Rebuild All"

И на вопрос «как происходит получение исполняемого файла» я совершенно искренне ответил бы «по нажатии кнопки 'Rebuild All'»
//////////////////////////////////
Цитата(MrYuran @ Apr 24 2009, 08:24)

В целом да, за исключением одной неточности:
библиотечные файлы (lib) содержат специально упакованный объектный код.
И формат этого lib-файла отличается от формата объектника, получаемого после компиляции PRIMARY-файла (т.е. файла, содержащего main)?
А юзверь может дополнить системную библиотеку своими lib-файлами?
А «подправить» lib-файл коммерческого компилятора (типа Microsoft Visual C++) у юзверя есть возможноть?
////////////////////////////////////////
Цитата(MrYuran @ Apr 24 2009, 08:24)

А код из библиотек подставляется на этапе линковки.
А как линкер узнаёт, какой код из объектников системных файлов нужно «пришить» к объектнику Primary-файла? Путём анализа содержимого объектника Primary-файла?
А отличается ли формат объектного файла Primary-файла от формата объектных файлов других CPP-файлов, входящих в проект?
А где можно почитать про формат объектных файлов (как системных {т.е. lib}, так и юзверя)?