Makefile и процесс компиляции
Научитесь использовать флаги make и gcc для оптимизации компиляции
«Makefile и процесс компиляции» — бесплатный урок C Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C Academy содержит 3 уроков всего.
Введение в файлы сборки и процесс компиляции
Файлы сборки и процесс компиляции
Файлы сборки автоматизируют компиляцию программ на C, упрощая управление сложными проектами.
В этом уроке Вы узнаете:
- Как работает процесс компиляции C.
- Как создать и использовать файл сборки.
- Как оптимизировать компиляцию с помощью флагов GCC.

Изучение процесса компиляции C
Изучение процесса компиляции C
Процесс компиляции C включает четыре этапа:
- Предварительная обработка — обрабатывает макросы и подключает файлы.
- Компиляция — переводит код C в ассемблерный код.
- Ассемблирование — преобразует ассемблерный код в машинный код.
- Компоновка — объединяет объектные файлы в исполняемый файл.
Компиляция программы на C
Компиляция программы на C
Чтобы скомпилировать простую программу на C:
gcc program.c -o program
Чтобы добавить отладочную информацию:
gcc -g program.c -o program
Чтобы повысить производительность:
gcc -O2 program.c -o programЧто такое файл сборки?
Что такое файл сборки?
Файл сборки автоматизирует компиляцию, определяя правила создания исполняемого файла.
Базовый синтаксис:
target: dependencies
command
Пример:
program: main.o utils.o
gcc main.o utils.o -o programПример: написание простого файла сборки
Пример: написание простого файла сборки
Этот файл сборки компилирует программу из нескольких исходных файлов.
CC=gcc
CFLAGS=-Wall -O2
all: program
program: main.o utils.o
$(CC) main.o utils.o -o program
main.o: main.c
$(CC) $(CFLAGS) -c main.c
utils.o: utils.c
$(CC) $(CFLAGS) -c utils.c
clean:
rm -f *.o programИспользование команд файла сборки
Использование команд файла сборки
Распространённые команды файла сборки:
make— компилирует проект.make clean— удаляет скомпилированные файлы.make all— собирает все цели.
Оптимизация компиляции с помощью флагов GCC
Оптимизация компиляции с помощью флагов GCC
Распространённые флаги оптимизации:
-O1— базовые оптимизации.-O2— более агрессивные оптимизации.-O3— максимальная оптимизация.-march=native— оптимизация для локального CPU.
Отладка с помощью файлов сборки
Отладка с помощью файлов сборки
Чтобы скомпилировать программу с отладочной информацией, используйте:
CFLAGS=-g
Чтобы добавить отладку в файл сборки:
gcc -g main.c -o programИтоги
Итоги
В этом уроке Вы узнали:
- Как работает процесс компиляции C.
- Как использовать файлы сборки для автоматизации сборки.
- Как оптимизировать компиляцию с помощью флагов GCC.
Далее мы рассмотрим методы оптимизации кода!

Часто задаваемые вопросы
Урок «Makefile и процесс компиляции» бесплатный?
Да — полный текст урока «Makefile и процесс компиляции» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C Academy, подпишись на CoddyKit PRO. Курс C Academy содержит 3 уроков всего.
Чему я научусь в уроке «Makefile и процесс компиляции»?
Научитесь использовать флаги make и gcc для оптимизации компиляции Ты практикуешь C Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C Academy?
Предыдущий опыт не требуется. C Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.
Сколько времени занимает урок «Makefile и процесс компиляции»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C Academy?
Да. Каждый урок C Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Makefile и процесс компиляции
- Методы оптимизации кода
- Управление крупными проектами