Друзья! В данной статье мы бы хотели рассказать про кроссплатформенную коллекцию утилитных C++ компонентов CUtils.
CUtils — это довольно полезный инструмент при разработке кроссплатформенного программного обеспечения на языке программирования C++.
В первой версии этой коллекции содержатся компоненты, которые были необходимы в разработке игрового движка Case Engine, такие как SystemConfiguration, INIParser, Notification и т. д.
Установка библиотеки
Вы можете скачать репозиторий уже с собранными файлами под Windows, а можете самостоятельно собрать библиотеку из исходников.
1. скачайте официальный репозиторий коллекции с GitHub —
https://github.com/case-tech/CUtils-Win
И подключите Include и Lib к вашему проекту:
2.. Установите исходники библиотеки с GitHub
И соберите её с помощью команд:
mkdir Out cd Out cmake .. cmake --build .
Функционал
Хэширование по алгоритму SHA-256
С помощью библиотеки CUtils можно реализовать хэширование данных через заголовок Hashed.hpp:
#include <Hashed.hpp> using namespace CUtils; int main() { Hashed hasher; std::string originalText = "Hello, world!"; std::string filename = "example"; hasher.HashAndSave(originalText, filename); std::string savedHash = hasher.ReadHashFromFile(filename + ".hash"); return 0; }
INI Parser
С помощью заголовка INIParser.hpp можно реализовать парсинг данных из конфигурационного файла .ini:
#include <INIParser.hpp> using namespace CUtils; int main() { INIParser parser("config.ini"); if (parser.Load()) { std::string value = parser.GetValue("Settings", "Resolution"); std::cout << "Resolution: " << value << std::endl; parser.SetValue("Settings", "Resolution", "1920x1080"); parser.Save(); } else { std::cerr << "Failed to load INI file." << std::endl; } return 0; }
NoisePerlin
В CUtils уже есть готовая реализация алгоритма Шума Перлина:
#include <NoisePerlin.hpp> #include <iostream> using namespace CUtils; int main() { NoisePerlin perlin; double value = perlin.Noise(1.0, 2.0); std::cout << "Perlin Noise Value: " << value << std::endl; return 0; }
Notification
Вы можете реализовать вывод ошибок, предупреждений, информации с помощью заголовка Notification.hpp:
#include <Notification.hpp> using namespace CUtils; int main() { Notification::notify(Notifi
А остальное вы сможете посмотреть в нашей документации
Ссылки
ссылка на оригинал статьи https://habr.com/ru/articles/857398/
Добавить комментарий