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
).
Сборка и запуск
- Поместите все файлы (
connection_module.c
,module_*.c
) в одну директорию. - Выполните команду для компиляции:
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
Контакты
- Сайт: Granni
Репозитории
- Codeberg: module_connection
- GitHub: module_connection
- GitLab: module_connection
- SourceForge: module_connection
- NotABug: module_connection
- Gitea (Demo): module_connection
- Gogs (Demo): module_connection
Лицензия
Этот проект распространяется под лицензией MIT.
Description
Languages
C
100%