Table of Contents

Компилируемые языки программирования

GNU Toolchain GCC and Makefiles

Этапы компиляции языка Си:

  1. Препроцессор
    • Макросы в компайл тайме
    • Расширение .i
    • gcc -E
  2. Компиляция
    • Переводит язык Си в язык Ассемблера
    • Расширение .s
    • gcc -S
  3. Сборка (Assembly)
    • Переводит язык Ассемблера в нечитаемый для человека байткод
    • Называются объектными файлами
    • В них существуют "дырки" (holes).

      Скажем при вызове printf скомпилированный объектный файл ещё не будет знать откуда printf брать.

    • Расширение .0
    • gcc -c
  4. Линковка
    • Соединяет объектные .o файлы воедино
    • Заполняя в них "дырки" (holes)
    • Выдаёт на выходе исполняемый бинарный файл
    • gcc (без флагов)

Ресурсы:

Godbolt
сайт с выводом компиляторов C в ассемблер

w96k Ⓐ 2019-2022

2022-11-27 Sun 23:34