√ Программы,
√ Сайты, √ Библиотеки
√ Хостинг, √ Домены
ООО МааСофтваре
+7(928)442-41-32
support@maasoftware.ru
   
Библиотека ToolsLib
Пакеты, необходимые для сборки в Линуксе Debian, можно установить так:
apt-get install gcc g++ make libgd2-xpm-dev git mc
Компилятор под Windows: Microsoft Visual C++ 2017
ToolsLib можно собрать, как статическую библиотеку в QT в Windows для Windows и Android (для этого нужно раскомментировать необходимый //#define ___ToolsLibQT___ в конце perm.h) - удобны в использовании классы строк, сокетов и др.

Библиотека ToolsLib находится в нашем git-репозитарии.
git clone git://git.maasoftware.ru/ToolsLib ToolsLib
Переносимая между Windows 32/64 бит, Linux x64 (копилировалась на Debian amd64 - g++ 6.3.0). На 32-битном Linux'е разработка не ведётся, возможны некорорые легко исправляемые ошибки компиляции.

Содержит классы работы с датой/временем, строками, списками, массивами, файлами, hash-таблицами, B-tree, RB-tree, asc_tree, сокетами (socket2, select, частично epoll), сокетными таймерами, xml, потоками, мьютексами, md4, md5, библиотекой gd (Linux), CGI (Linux), win32 api работы с event'ами - WaitForXXObjects с таймаутами в Linux'е (тестово). Также содержит отдельно, для уменьшения зависимостей, подключаемые файлы работы с MySQL/MariaDB.

По тестам hash-таблицы быстрее unordered_map из STL примерно в 15 раз. (см. здесь) Имеет другие 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.04.2019

Назад  Наверх

Пользователь
Новости
[...] Архив новостей.
Новое на сайте
Страницы:
Сейчас на сайте
Гостей: 0
Пользователей: 0
Роботов: 1
Всего пользователей: 31
Другие ресурсы
Copyright © 2011-2019 ООО МааСофтваре   
Посетителей сегодня: 1, всего: 214, максимально: 7, начиная с 12.01.2017, вы просматриваете эту страницу 1 раз(а). Заходите ещё!!!