Предварительные требования:
- gcc установлен на вашем компьютере
- gcc зарегистрирован в PATH
- знание некоторых основных команд терминала, поскольку gcc является инструментом командной строки.

TL;DR
Компиляция:

 gcc -c filename.c

Связывание:

gcc filename.o

Запуск программы:

 ./a.out (Mac and Linux)
 a.exe (Windows)

Компиляция и компоновка одной командой:

 gcc filename.c

Hello World!
Давайте сначала создадим простую программу на языке C и назовем ее hello.c.

Теперь, когда мы закончили кодирование, мы готовы построить нашу программу.
Чтобы построить программу, нам нужно сначала скомпилировать исходный файл в объектные файлы
, а затем связать их вместе в один исполняемый файл.

Компиляция
Чтобы скомпилировать, откройте терминал и перейдите в папку, в которой вы сохранили hello.c
Затем введите:

gcc -c hello.c

Давайте разберем команду, которую мы выполнили
*gcc — это наш компилятор. Мы запускаем его, введя его имя, gcc, в командную строку.
* -c — это говорит gcc скомпилировать наши исходные файлы в объектные файлы.
* имя файла (в нашем случае hello.c) — исходный файл нашей программы c.

После выполнения этой команды в вашем каталоге должен появиться еще один файл с именем hello.o.
hello.o — это объектный файл. GCC создает объектные файлы для каждого исходного файла, прежде чем связать
их все в окончательный исполняемый файл. В нашем случае у нас есть только один исходный файл hello.c.

Если у вас есть несколько исходных файлов, вы можете скомпилировать их

gcc -c filename1.c filename2.c (you can add more …)

и у вас будет объектный файл для каждого вашего исходного файла.
(В приведенном выше примере это будут filename1.o и filename2.o)

Связывание
В терминале введите:

gcc hello.o

Как мы видим, команда для линковки почти такая же, как та, которую мы использовали для компиляции.
Основное отличие в том, что нет -c и имена файлов являются объектными файлами.
Если вы иметь несколько объектных файлов, это будет выглядеть так:

gcc filename1.o filename2.o (you can add more …)

Теперь у вас должен быть исполняемый файл в вашем каталоге. По умолчанию он называется a.out в Mac и Linux и
a.exe в Windows.

Чтобы установить имя исполняемого файла, нам просто нужно добавить -o и желаемое имя файла.

gcc hello.o -o helloworld

В приведенном выше примере исполняемый файл, который будет создавать gcc, будет называться helloworld вместо имени по умолчанию a.out или a.exe.

Компиляция и компоновка «Все в одном»

Компиляцию и компоновку можно выполнить с помощью одной команды. Давайте попробуем это с нашим исходным файлом, hello.c.

 gcc hello.c -o helloworld

И это все. После выполнения этой команды у нас будет исполняемый файл с именем helloworld.

Запуск программы

Чтобы запустить нашу программу c, перейдите в каталог, где находится ваш исполняемый файл, затем введите ./your_executable_filename, если вы работаете на
Mac или Linux. , или your_executable_filename, если вы работаете в Windows. В нашем случае это будет:

(Мак и Линукс)

./helloworld

(Виндовс)

 helloworld

Вот и все. Теперь вы можете использовать gcc для создания ваших программ на C.

Надеюсь это поможет!