Загрузить файлы в «/»
This commit is contained in:
66
README.md
Normal file
66
README.md
Normal file
@ -0,0 +1,66 @@
|
||||
|
||||
# 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. Выполните команду для компиляции:
|
||||
|
||||
```bash
|
||||
gcc -o connection_module connection_module.c module_*.c
|
||||
```
|
||||
|
||||
## Установка в систему
|
||||
```bash
|
||||
sudo mv connection_module /usr/local/bin/
|
||||
```
|
||||
|
||||
## Запуск в директории
|
||||
```bash
|
||||
./connection_module
|
||||
```
|
||||
|
||||
## Установка в систему
|
||||
```bash
|
||||
sudo mv connection_module /usr/local/bin/
|
||||
```
|
||||
|
||||
## Автор
|
||||
**Grannik**
|
||||
|
||||
## Контакты
|
||||
- **Сайт**: [Granni](https://grannik.neocities.org/)
|
||||
|
||||
## Репозитории
|
||||
- **Codeberg**: [module_connection](https://codeberg.org/Grannik/Module_connection)
|
||||
- **GitHub**: [module_connection](https://github.com/Grannik/Module_connection)
|
||||
- **GitLab**: [module_connection](https://gitlab.com/grannik/module_connection/-/tree/main)
|
||||
- **SourceForge**: [module_connection](https://sourceforge.net/projects/module-connection/)
|
||||
- **NotABug**: [module_connection]()
|
||||
- **Gitea (Demo)**: [module_connection]()
|
||||
- **Gogs (Demo)**: [module_connection]()
|
||||
|
||||
## Лицензия
|
||||
Этот проект распространяется под лицензией **MIT**.
|
Reference in New Issue
Block a user