Команду gcc можно использовать для:
трансляции кода с языка Си на язык ассемблера
ассемблирования (трансляции ассемблера в машинный код)
компоновки
Компоновщик gcc имеет следующие особенности:
Компоновщик gcc "под капотом" использует компоновщик ld
Компоновщик gcc создаёт каркас программы, в котором создаётся функция _start, а внутри функции _start имеется вызов функции main, которая играет роль основной.
Компоновщик gcc автоматически подгружает файлы стандартной библиотеки языка Си
Компоновщик gcc по умолчанию генерирует позиционно-независимый код. Отменить это поведение можно с помощью параметра -no-pie.