Компилятор — это программа, которая выполняет процесс компиляции, как процесс, он состоит из нескольких шагов, которые мы будем видеть по одному за раз.
Сначала составим простенькую программу, чтобы видеть каждый шаг
Во-первых, предварительное сжатие, мы рассмотрим это с помощью компилятора gcc.
Давайте заглянем внутрь созданного файла, содержащего этап предварительного сжатия.
Первая задача, которую выполняет предшественник, — это удаление команд из кода, он добавляет код заголовка, а последняя задача заменяет все макросы соответствующим кодом.
Следующий шаг — компилятор, давайте сделаем файл, чтобы остановить его сразу после компиляции.
Теперь у нас есть файл с именем test.s, давайте посмотрим, что внутри
Это превращает код в ассемблерный код, который, как видите, содержит мнемоники, то есть «слова», напрямую связанные с процессом на машине.
Следующий шаг - ассемблер, сразу после сборки сделаем файл
Теперь у нас есть файл с именем test.o, давайте заглянем внутрь.
Это в значительной степени машинный язык, то есть 1 и 0.
Последний шаг — компоновщик, роль компоновщика — объединить весь код в один исполняемый файл.
Этот файл будет выполнять то, для чего была создана программа
И это весь процесс, выполняемый компилятором для C.