0Pricing
C Academy · Урок

Makefile и процесс компиляции

Научитесь использовать флаги make и gcc для оптимизации компиляции

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

Введение в файлы сборки и процесс компиляции

Файлы сборки и процесс компиляции

Файлы сборки автоматизируют компиляцию программ на C, упрощая управление сложными проектами.

В этом уроке Вы узнаете:

  • Как работает процесс компиляции C.
  • Как создать и использовать файл сборки.
  • Как оптимизировать компиляцию с помощью флагов GCC.
Makefile и процесс компиляции — иллюстрация 1

Изучение процесса компиляции 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 и процесс компиляции — иллюстрация 10

Часто задаваемые вопросы

Урок «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 — локальная установка не требуется.

Все уроки этого курса

  1. Makefile и процесс компиляции
  2. Методы оптимизации кода
  3. Управление крупными проектами
← Назад к C Academy