Skip to content

Latest commit

 

History

History
52 lines (42 loc) · 2.9 KB

File metadata and controls

52 lines (42 loc) · 2.9 KB

Быстрое введение в системное программирование на языке C в Linux

Требования

Операционная система

Примеры протестированы на следующих ОС:

  • Linux Fedora 42 (Adams)
  • WSL Ubuntu 24.04 LTS

Инструменты

Редактор кода

Можете использовать любой редактор кода, который вам нравится- блокнот, Visual Studio Code и так далее, подойдет любой.

Компилятор

Для примеров требуется компилятор GCC и сборщик Make

  • Установка в Fedora:
sudo dnf group install development-tools
  • Установка в Ubuntu:
sudo apt install build-essential

Отладочные инструменты (опционально)

Для поиска багов и неисправностей, не обойтись без специальных инструментов.

  1. GDB - отладчик, с которым мы можем пройтись по исполнению программы шаг-за-шагом, увидеть значения переменных и даже их изменять, таким образом можно ускорить и упростить процесс нахождения причин неисправностей в нашем ПО.

  2. Valgrind - инструмент для помощи в нахождении утечек памяти, так как мы работаем с памятью вручную, это одна из самых распространенных проблем и найти утечки без специального инструмента может быть очень сложно.

Установка в Fedora

sudo dnf install gdb valgrind

Установка в Ubuntu

sudo apt install gdb valgrind

Содержание

  1. Ввод/вывод
  2. Переменные окружения
  3. Компиляция и библиотеки
  4. Утилита make
  5. Системные вызовы
  6. Процессы
    1. fork() и execl()
    2. system(), Фоновые процессы и службы
    3. Коммуникация между процессами (IPC)
  7. Потоки