Проект представляет собой веб-калькулятор, реализованный на языке C с использованием библиотеки Mongoose для запуска веб-сервера. Интерфейс написан на HTML. Серверная часть выполняет вычисления, обрабатывая POST и GET запросы от клиента.
Ссылка на полную документацию в проекта через средства автоматизации генерации документации на основе исходных текстов программ - Doxygen: Документация
- 📁 Структура проекта
- ⚙️ Сборка проекта
- 🚀 Запуск сервера
- 💡 Дополнительно
- 🔧 Зависимости
- 📌 Автор
- 📄 Лицензия
/Calculator_in_C
│── backend
│ │── build/
│ │ │── package/
│ │ │ │── main
│ │── configs/
│ │ │── config.env
│ │ │── config.h
│ │── src/
│ │ │── calculator/
│ │ │ │── calculator.c
│ │ │ │── calculator.h
│ │ │── output/
│ │ │ │── output.c
│ │ │ │── output.h
│ │ │── main.c
│ │ │── main.h
│ │── tests/
│ │ │── test_the_size_data_type.c
│ │ │── test_the_size_data_type.h
│── docs/
│ │── html/
│ │── latex/
│ │── docs.md
│── frontend/
│ │── decomposed_files/
│ │ │── advertising_integration.html
│ │ │── background.svg
│ │ │── index.html
│ │ │── style.css
│ │ │── script.js
│ │── MainPage.html
│ │── OutputPage.html
├── mongoose/
│ │── mogoose.c
│ │── mogoose.h
│ │── LICENSE
│ │── README.md
│── .gitignore
│── Doxygen
│── LICENSE.md
│── Makefile
│── README.md
Для сборки сервера будет использоваться Makefile. Но тут так же будут указана часть команд, которые можно вручную написать в консоль для изменения каких-либо параметров.
К примеру установить хост и порт можно через консоль:
export HOST=... PORT=...
Проверить их так же можно через консоль:
echo $HOST $PORT
Сборка проекта:
make
Эта команда скомпилирует .c-файлы в .o-файлы;
Удаления всех объектных файлов, кроме скомпилированного .o-файла:
make clean
Для полной очистки (включая финальный .o-файл):
make all-clean
Для удаления старого и создания нового итогового .o-файл:
make rebuild
Запуск проекта(сервера):
make run
-
Серверная часть обрабатывает математические выражения, переданные из формы на index.html, и возвращает результат пользователю.
-
Используется HTML-форма для отправки запроса, JavaScript и CSS отсутствуют в основной логике вычислений.
-
Расширенная документация может быть сгенерирована с помощью Doxygen из backend/Doxygen/.
-
Использование автоматичской документации проекта на основе исходного кода через Doxygen:
doxygen -g Doxyfile
Подробное описание настроек Doxygen-файла для проекта есть в другом моем github проекте:
Для отключения документирования папки mongoose в файле Doxygen мы написали в одном флаге следующее значение:
EXCLUDE = mongoose/
-
Компилятор gcc
-
Библиотека mongoose.c (в папке mongoose/)
- Этот проект был разработан в учебных целях Иваном Широких.
Этот проект распространяется под лицензией GNU General Public License v2.0.
Вы можете свободно использовать, изменять и распространять данный код, при условии соблюдения условий GPL. Проект предоставляется "как есть", без каких-либо гарантий.
Текст лицензии доступен в файле LICENSE.md
или по ссылке:
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html