У Вас устаревшая версия браузера. Скачайте современный Firefox, Chrome, Opera или Яндекс браузер для комфортного просмотра!
ИП Моисеенко А.А.
(МааСофт/ООО МааСофтваре)
 
√ Программы, √ Сайты, √ Хостинг,
http://maasoft.ruip@maasoft.ru,
+7(999)633-15-17 18:00-20:00 MSK
 
Библиотека ToolsLib
Пакеты, необходимые для сборки в Линуксе 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 и других.
18.07.2023 - 02.10.2023

Назад  Наверх

Ноябрь 2024
   Пн   Вт   Ср   Чт   Пт   Сб   Вс   
           1   2   3   
   4   5   6   7   8   9   10   
   11   12   13   14   15   16   17   
   18   19   20   21   22   23   24   
   25   26   27   28   29   30     
 21 ноября 2024 года, четверг 
Пользователь
Авторизация
e-mail:

пароль:


Регистрация
Поделиться
 0  0
Новости
[...] Архив новостей.
Новое на сайте
Сейчас на сайте
Гостей: 3
Пользователей: 0
Роботов: 4
Всего пользователей: 17
Другие ресурсы
Copyright © 2020-2024 ИП Моисеенко А.А.   
Мы принимаем к оплате:
Посетителей сегодня: 2, всего: 609, максимально: 8, начиная с 20.07.2023, вы просматриваете эту страницу 1 раз(а). Заходите ещё!!!