Что происходит, когда жмёшь кнопку Скомпилировать: препроцессор, компилятор, линкер по шагам
«Жму Compile — и что происходит?» — вопрос, который я задавал себе каждый раз, пока не понял, что за этим стоит целая цепочка инструментов. Давай пройдёмся по шагам. Первый этап — препроцессор. Он делает вот что: ```bash g++ -E main.cpp > main.i ``` Он раскрывает макросы, подключает заголовки, убирает комментарии: ```cpp // Исходник #include <iostream> #define PRINT(x) std::cout << x // После препроцессора std::cout << ...; std::cout << ...; ``` Компилятор берет препроцессированный файл и делает из него ассемблерный код: ```bash g++ -S main...