2020/05/04 - Немного кода, прилипающего и рефакторинг и удаление предупреждений, отмеченных определенными компиляторами. В течение последних нескольких месяцев я перешел на более новое усиление из -за обновлений, чтобы повысить код ASIO.
2019/08/29 - Добавлены дополнительные функции утилиты строк.
2019/04/11 - Добавлена поддержка буферов протокола Google в утилитах сериализации. Поэтому поддержка автоматически достигается во всех классах ASIO, таких как классы TCP, UDP и многоадресной рассылки.
Эта библиотека (Corelibrary) представляет собой набор полезных классов утилит C ++ 1x, чтобы помочь с многопотоковым, журналом, сетью, пользовательскими исключениями, файловыми утилитами, файлами INI, сериализацией, сортировкой, строковыми утилитами и так далее. Другими словами общая коллекция кода, которая очень полезна во многих различных проектах кодирования C ++.
Если вы обнаружите какой -либо из этого кода полезным и используете его в своем программном обеспечении или приобретите его части, чтобы основывать свою собственную работу, пожалуйста, дайте кредит и уважайте лицензию.
Он имеет лицензию в соответствии с условиями LGPL 3.0, и соответствующая документация для этого может быть найдена в верхней части каждого исходного файла и в текстовом файле лицензии.
Код - это работа со мной (Дункан Крутчли) ([email protected]).
Авторские права (с) 2014 года Дункан Крутчли.
Эта библиотека была разработана в QT Creator для Windows и Linux. В Windows рекомендуется использовать цепочку инструментов MSVC2017 из Creator QT для создания и проверки кода, но она была успешно использована с MSVC2013 и MSVC2015. Другие компиляторы были протестированы в окнах, таких как Clang 3.4+ и GCC (Mingw) 4.8.x+, и код должен работать с ними. В Linux код был протестирован с GCC 4.8.x+ и Clang 3.4+. Я всегда стараюсь использовать новейшую стабильную версию любого компилятора, с которой я создаю этот код. Поэтому, как таковой, я не буду гарантировать, что буду поддерживать поддержку старых компиляторам, поскольку я перемещаю свой код с улучшениями и новыми функциями.
В Windows (Win10 64bit) я в настоящее время использую 64 -битный комплект MSVC 2017 в QT Creator 4.9.2/ QT Framework 5.13.0. На Linux (Manjaro) я в настоящее время использую комплекты GCC 8.2.1 и Clang 8.0.0 в QT Creator 4.9.2 и QT Framework 5.13.0.
Проекты, предоставленные для библиотечных и модульных тестов, предназначены для создателя QT и будут работать в Linux и Windows. Чтобы достичь этого, проекты полагаются на пользовательские mkspecs, которые будут скопированы из папки qt_custom_mkspecs в соответствующую папку функций QT. Пример MksPecs предназначен для совместимости с MSVC2017 64Bit и Linux. Они должны быть настроены для собственной системы пользователя.
Вы можете использовать этот код в других средах разработки и построения, но пользователь должен создавать необходимые проекты или Makefiles для этих сред. Это должно быть довольно просто, ссылаясь на файл проекта QT (.pro) и ранее упомянутые файлы MKSPEC.
Эта библиотека требует некоторых сторонних библиотек с открытым исходным кодом для ее компиляции и функции. Это следующие:
Как и в случае с компиляторами, я всегда держу свои копии вышеупомянутых сторонних библиотек в актуальности с их последними стабильными версиями, поэтому я не буду гарантировать полную поддержку для старых Versoins этих библиотек, поскольку я продолжаю работать над этим проектом.
Это в значительной степени хобби, основанный на знаниях, которые я получил за многолетний опыт работы в области разработки программного обеспечения и научных кругов с 1999 года. Я начал разработку этого кода в начале 2014 года. Это представляет собой набор, надеющихся, простых в использовании и полезных классах для часто встречающихся потребностей в разработке программного обеспечения.
Весь код был протестирован с хорошим покрытием, и я использовал этот код в своих собственных проектах без проблем. Я также использовал большую часть этого кода и аналогичный код, написанный мной в коммерческих проектах, часто с (мягкими) требованиями в реальном времени, и у меня не было никаких проблем, поэтому не стесняйтесь использовать это в коммерческих проектах, если вы придерживаетесь лицензии.
Я исправляю ошибки и улучшаю код при необходимости, но не даю никаких гарантий того, как часто это происходит. Я не предоставляю гарантии или поддержки для любых проблем, которые сталкиваются при использовании их. Хотя, если вы действительно застряли, напишите мне по предоставленному адресу, и если у меня будет время, я постараюсь помочь или решить проблему, если это в моей силе сделать это
Код комментируется с использованием комментариев в стиле доксигена, поэтому проверьте документацию в/docs/html/polder и Open Index.html в вашем браузере по выбору.
Для примеров использования я рекомендую посмотреть код тестового модуля в папке /unittests /googlets.
Тесты сетевого модуля требуют сетевого подключения и ожидают установки 2 адаптеров, один на 10.34.6.1/255.255.0.0, а другой - на 10.35.6.1/255.255.0.0. Это могут быть «виртуальные» адаптеры петли или физические сетевые адаптеры, но для тестирования многоадресной группы и трансляции UDP пользователь должен настроить свои брандмауэры и настройки безопасности.
См. Вики для более подробной информации и примеров.