ИП Моисеенко А.А. (МааСофт/ООО МааСофтваре) |
|
|
Пакеты, необходимые для сборки в Линуксе Debian, можно установить так: apt-get install gcc g++ make libgd3 libgd-dev curl libcurl4-openssl-dev nasm git mc Компилятор под Windows: Microsoft Visual C++ 2022, nasm ToolsLib можно собрать, как статическую библиотеку в QT в Windows для Windows и Android (для этого нужно раскомментировать необходимый //#define ___ToolsLibQT___ в конце perm.h) - удобны в использовании классы строк, сокетов и др. Библиотека ToolsLib находится в нашем git-репозитарии. git clone git://git.maasoftware.ru/root . git clone git://git.maasoftware.ru/ToolsLib ToolsLib Переносимая между Windows 32/64 бит, Linux x64 (копилировалась на Debian amd64 - g++ 10.2.1), nasm. Основные компиляторы для библиотеки - c++2a/c++23, немного x64 nasm. На 32-битном Linux'е разработка не ведётся, возможны некоторые легко исправляемые ошибки компиляции. Содержит классы работы с датой/временем, строками, списками, массивами, файлами, hash-таблицами, B-tree, RB-tree, АВЛ-tree, asc_tree, сокетами (socket2, epoll), сокетными таймерами, xml, потоками, мьютексами, md4, md5, библиотекой gd (Linux), CGI (Linux), win32 api работы с event'ами - WaitForXXObjects с таймаутами в Linux'е (тестово). Также содержит отдельно, для уменьшения зависимостей, подключаемые файлы работы с MySQL/MariaDB. По тестам hash-таблицы значительно быстрее unordered_map из STL. (см. здесь) Имеет другие race-сonditions по сравнению с unordered_map из STL. По удобству, строки, например, не бросают exception при обращении за пределы, возвращая пустую подстроку или нулевой символ в зависимости от метода. Работают с байтовыми символами (например, с кодировками utf-8 или ansi), содержит функции с 16-битным Unicode, функции для web'а. Работа с xml чем-то похожа на работу с xml в Qt. Удобная работа с сокетами (текущие классы разработаны для IPv4 и IPv6 TCP, UDP), в сокетных классах можно использовать высокоточные периодические таймеры, в том числе, и для генерации событий. Работа с MySQL похожа на работу с sqllite на Java (Android), в отдельно подключаемых файлах (Windows, Linux). Основа B-tree взята из книги Niklaus Wirth "Algorithms and data structures". Можно использовать интерфейс Вирта функции Search или воспользоваться Add, Find, Remove по аналогии с интерфейсом hash-таблиц. Основа Red-Black balanced tree взята из книги Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн "Алгоритмы: построение и анализ. 3-е и 1-е (2-е) издание, с исправлением ошибок, недочёты при удалении вершин и др. исправлены материалами https://ru.wikipedia.org/. Ключи могут дублироваться. Разработчик - Моисеенко Андрей Алексеевич, лицензия BSD. Библиотека используется в таких пректах, как RusRoute firewall, система управления содержимым сайта ООО МааСофтваре / ИП Моисеенко А.А. (CMS Моисеенко А.А.), FTP сервер ООО МааСофтваре, QtTrm138Client и других.
Назад Наверх |
Пользователь
Новости [...] Архив новостей. Новое на сайте
Сейчас на сайте
Гостей: 0
Пользователей: 0 Роботов: 2 Всего пользователей: 17 |
Мы принимаем к оплате: |