Module_connection

Описание

Модульная программа на C. Этот проект представляет собой модульную программу на языке C, состоящую из главного файла connection_module.c и нескольких модульных файлов (module_00.c, module_01.c, module_04.c и др.). Программа выполняет функции модулей последовательно, используя слабые ссылки для обработки отсутствующих модулей. Каждый модуль предоставляет функцию module_XX_run(), которая выполняет определённую задачу и возвращает код завершения (0 — успех, ненулевое значение — ошибка).

Возможности

Подключение любых модулей (программ, написанных на языке программирования C) с практически любыми функциями.

Структура проекта

  • connection_module.c: Главный файл, содержащий функцию main(). Отвечает за инициализацию массива указателей на функции модулей, их последовательный запуск и обработку ошибок.
  • module_00.c: Пустой модуль, возвращающий 0.
  • module_01.c: Выводит сообщение "Hello, world!" в консоль.
  • module_04.c: Выводит сообщение "Permission denied." в красном цвете с анимацией (пошаговый вывод символов с задержкой 0.1 секунды).
  • module_21.c: Отображает содержимое файла README.md в консоли с форматированием Markdown, используя утилиту glow.
  • Другие модули (module_02.c, module_03.c, ..., module_35.c) отсутствуют в предоставленных файлах, но могут быть добавлены. Благодаря слабым ссылкам их отсутствие не приводит к ошибкам компиляции.

Зависимости

  • Стандартная библиотека C (stdio.h, string.h).
  • Библиотека unistd.h (используется в module_04.c для функции usleep).
  • Компилятор GCC для сборки проекта.

Требования

  • Установленный компилятор GCC.
  • POSIX-совместимая система (для usleep в module_04.c).

Сборка и запуск

  1. Поместите все файлы (connection_module.c, module_*.c) в одну директорию.
  2. Выполните команду для компиляции:
gcc -o connection_module connection_module.c module_*.c

Установка в систему

sudo mv connection_module /usr/local/bin/

Запуск в директории

./connection_module

Установка в систему

sudo mv connection_module /usr/local/bin/

Автор

Grannik

Контакты

Репозитории

Лицензия

Этот проект распространяется под лицензией MIT.

Description
No description provided
Readme 30 KiB
Languages
C 100%