У Вас устаревшая версия браузера. Скачайте современный Firefox, Chrome, Opera или Яндекс браузер для комфортного просмотра!
  √ Программы, √ Сайты, √ Исходники, √ C++,
√ Библиотеки, √ Хостинг, √ Домены
= ООО МааСофтваре, +7(999)633-15-17
support@maasoftware.ru, 9:00-17:00 MSK
 
Библиотека ToolsLib
Пакеты, необходимые для сборки в Линуксе Debian, можно установить так:
apt-get install gcc g++ make libgd3 libgd-dev curl libcurl4-openssl-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

Назад  Наверх

Март 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   31   
 19 марта 2024 года, вторник 
Пользователь
Авторизация
e-mail:

пароль:


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