Команда gcc предназначена для компиляции с помощью компилятора GCC кода на языке C. Данная команда похожа на команду g++, используемую для компиляции кода на языке C++.
Базовый синтаксис команды выглядит следующим образом:
$ gcc [параметры] имена файлов
В качестве имен файлов могут использоваться как имена файлов исходного кода на языке C с расширением .c, так и имена файлов объектного кода с расширением .o. Компилятор поддерживает поистине огромное количество параметров, но наиболее важными из них являются такие параметры, как параметр -o, позволяющий задать имя результирующего исполняемого файла, параметр -c, позволяющий лишь скомпилировать файл без связывания (то есть, создать файл объектного кода, а не исполняемый файл), параметр -O, позволяющий задать уровень оптимизации и параметр -l, позволяющий указать библиотеку, которая должна быть связана с результирующим исполняемым файлом.
Для компиляции простейшей программы из одного файла исходного кода достаточно передать компилятору имя файла исходного кода, а также имя результирующего исполняемого файла.
Это содержимое файла исходного кода test.c:
Для его компиляции может использоваться следующая простая команда:
$ gcc test.c -o test
В результате будет создан исполняемый файл test:
$ ./test
Hello world
Компиляция программы из нескольких файлов исходного кода может осуществляться также, как и программы из одного файла исходного кода путем перечисления всех файлов исходного кода вместо одного, но лучшим решением является компиляция файлов исходного кода по очереди с последующим связыванием.
Это содержимое файла исходного кода test.c:
Это содержимое заголовочного файла test.h с прототипом функции:
А это — содержимое файла исходного кода main.c:
Для компиляции программы может использоваться следующая последовательность команд:
$ gcc -c test.c -o test.o
$ gcc -c main.c -o main.o
$ gcc test.o main.o -o test
В результате также будет создан исполняемый файл test:
$ ./test
Hello world