Страница 1 из 1

Библиотека фреймворков

Добавлено: 12 сен 2023, 21:43
ya

Re: Библиотека фреймворков

Добавлено: 18 сен 2023, 08:51
ya

Valgrind - тестировщик ошибок

Добавлено: 18 сен 2023, 08:54
ya
https://valgrind.org

https://valgrind.org/downloads/current.html
Valgrind - это инструментальная среда для создания инструментов динамического анализа. Существуют инструменты Valgrind, позволяющие автоматически обнаруживать многие ошибки в управлении памятью и потоками, а также проводить детальное профилирование программ. Вы также можете использовать Valgrind для создания новых инструментов.

В настоящее время дистрибутив Valgrind включает семь инструментов производственного качества: детектор ошибок памяти, два детектора ошибок потоков, профилировщик кэша и предсказания ветвлений, профилировщик кэша и предсказания ветвлений, генерирующий граф вызовов, и два различных профилировщика кучи. В состав программы также входит экспериментальный генератор векторов базовых блоков SimPoint. Он работает на следующих платформах: X86/Linux, AMD64/Linux, ARM/Linux, ARM64/Linux, PPC32/Linux, PPC64/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux, MIPS64/Linux, X86/Solaris, AMD64/Solaris, ARM/Android (2. 3.x и более поздние версии), ARM64/Android, X86/Android (4.0 и более поздние версии), MIPS32/Android, X86/FreeBSD, AMD64/FreeBSD, X86/Darwin и AMD64/Darwin (Mac OS X 10.12).

Valgrind. Memcheck
https://www.youtube.com/watch?v=r6LcRUGmyOs

колгринг в параметрах запуска валгринда
https://www.youtube.com/watch?v=CZ2n3gj5VkY

valgrind --tool=callgrind --instr-atstart=no программа [опции программы]

kcachegrind - графическое приложение для анализа и отчётов callgrind (требуется библиотека kde+qt)


GDB. Точки наблюдения (watchpoints)
https://www.youtube.com/watch?v=_H5s2I0dxIs

Re: Библиотека фреймворков

Добавлено: 24 мар 2024, 11:47
ya
www.anthemion.co.uk/dialogblocks

DialogBlocks включает визуальный редактор окон wxWidgets, многооконный текстовый
редактор, встроенную справочную систему. Интегрированная среда умеет генерировать
Make-файлы для проектов wxWidgets и пересобирать саму библиотеку. Поддерживается и
интерактивная отладка приложений (с использованием внешнего отладчика). Среда
DialogBlocks – коммерческий продукт, который фактически распространяется как shareware.
Вы можете работать с программой бесплатно, однако, до тех пор, пока вы не оплатите
регистрацию, функциональность DialogBlocks будет ограничена. Диалоговые окна в
незарегистрированной версии могут включать не более 30 визуальных элементов,
специальное окно периодически напоминает вам о необходимости регистрации, а многие
визуальные элементы оказываются недоступны.

Re: Библиотека фреймворков

Добавлено: 24 мар 2024, 11:50
ya
https://www.codeblocks.org/downloads/binaries/

Бесплатная среда разработки на языках C/C++ и Fortran.
Code::Blocks - это бесплатная IDE для C/C++ и Fortran, созданная для удовлетворения самых взыскательных потребностей пользователей. Она разработана как очень расширяемая и полностью настраиваемая.

Построенная на основе фреймворка плагинов, Code::Blocks может быть расширена с помощью плагинов. Любой вид функциональности может быть добавлен путем установки/кодирования плагина. Например, компиляция событий и отладка обеспечиваются плагинами!

Если вы новичок, вы можете прочитать руководство пользователя или посетить Wiki для получения документации. Не забудьте посетить и присоединиться к нашим форумам, чтобы найти помощь или общее обсуждение Code::Blocks.

Мы надеемся, что вам понравится использовать Code::Blocks!

Команда Code::Blocks

https://github.com/tsnsoft/CodeBlocks_rus

Re: Библиотека фреймворков

Добавлено: 16 июн 2024, 22:28
ya
фреймворки для C++
https://codelab.pro/luchshie-frejmvorki-dlya-c-v-2023-godu/

SFML - Простая и быстрая мультимедийная библиотека
SFML предоставляет простой интерфейс к различным компонентам вашего компьютера, облегчая разработку игр и мультимедийных приложений. Она состоит из пяти модулей: системного, оконного, графического, звукового и сетевого.
Подробнее об их возможностях можно узнать из учебников и документации по API.
https://www.sfml-dev.org/tutorials/2.6/start-linux.php
https://www.sfml-dev.org/download/sfml/2.6.1/

Код: Выделить всё

sudo apt-get install libsfml-dev
Компилировать с параметрами линковки:

Код: Выделить всё

g++ -std=c++11 -o web-curl.0.0.3 web-curl.0.0.3.cpp -lcurl -lsfml-graphics -lsfml-window -lsfml-system -lxml2

Qt
Qt — это кроссплатформенный фреймворк, который позволяет разработчикам создавать приложения для различных операционных систем, таких как Windows, Linux и macOS. Qt предоставляет богатый набор модулей, включая графический интерфейс, сеть, мультимедиа и многое другое, что делает его отличным выбором для разработки сложных приложений. Его платформа пользовательского интерфейса позволяет разработчикам с легкостью создавать красивые и современные интерфейсы.

Boost
https://www.boost.org/users/history/version_1_74_0.html
https://www.boost.org/users/history/version_1_85_0.html
Boost — это широко используемая библиотека C++, которая предоставляет широкий спектр функциональных возможностей, включая алгоритмы, структуры данных и контейнеры. Boost известен своей производительностью и экономичностью, что делает его популярным выбором для разработки высокопроизводительных приложений. Кроме того, Boost обладает отличной документацией, облегчающей разработчикам его изучение и использование.
boost.beast https://github.com/boostorg/beast

Подготовка к установке

Код: Выделить всё

./bootstrap.sh
Установка буста

Код: Выделить всё

sudo ./b2 variant=debug link=shared threading=multi runtime-link=shared address-model=32 stage install
sudo ./b2 variant=release link=static threading=multi runtime-link=shared address-model=32 stage install

Код: Выделить всё

The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    /home/gt/Downloads/boost_1_85_0

The following directory should be added to linker library paths:

    /home/gt/Downloads/boost_1_85_0/stage/lib

Код: Выделить всё

export LIBS="-L/home/gt/Downloads/boost_1_85_0/stage/lib"
export CPPFLAGS="-I/home/gt/Downloads/boost_1_85_0"

Код: Выделить всё

CC -I/home/gt/Downloads/boost_1_85_0 -L/home/gt/Downloads/boost_1_85_0/stage/lib yourprogram.cpp
Poco
Poco — это облегченный фреймворк на C++, который предоставляет набор библиотек для разработки сетевых приложений. Его модульная архитектура позволяет разработчикам использовать только необходимые компоненты, уменьшая общий размер кода и повышая производительность. Poco также обеспечивает кроссплатформенную поддержку, что делает его отличным выбором для разработки приложений для нескольких платформ.

Wt
https://github.com/emweb/wt
https://www.webtoolkit.eu/wt/doc/reference/html/InstallationUnix.html
https://www.webtoolkit.eu/wt/download

Код: Выделить всё

sudo apt-get install witty witty-dev witty-doc witty-dbg witty-examples libboost-filesystem1.74-dev
Wt — это фреймворк веб-приложений, который позволяет разработчикам создавать веб-приложения с использованием C++. Его встроенные виджеты и компоненты позволяют легко создавать сложные веб-приложения с минимальными усилиями. Кроме того, Wt предоставляет модель событий на стороне сервера, которая позволяет разработчикам писать веб-приложения, обладающие высокой отзывчивостью и интерактивностью.

Wt - это библиотека C++ для разработки веб-приложений. Она состоит из:

- libwt, библиотека виджетов/рендеринга
- libwthttp, сервер HTTP/WebSockets (асинхронный ввод-вывод)
- libwtfcgi, библиотека коннекторов FastCGI (Unix)
- libwtisapi, библиотека коннекторов ISAPI (Windows)
- libwttest, среда тестовых коннекторов.

Он также содержит ORM на C++, который может быть использован в веб-приложении
(очевидно), но может быть использован и сам по себе:

- libwtdbo, C++ ORM
- libwtdbopostgres, бэкенд PostgreSQL
- libwtdbosqlite3, бэкенд Sqlite3
- libwtdbomysql, бэкенд MySQL и MariaDB
- libwtdbomssqlserver, бэкенд Microsoft SQL Server
- libwtdbofirebird, бэкэнд Firebird.

Дополнительную информацию можно найти на [домашней странице](http://www.webtoolkit.eu/wt


cppcms
http://cppcms.com/wikipp/en/page/main
http://cppcms.com/wikipp/ru/page/main
CppCMS - это бесплатный высокопроизводительный фреймворк для веб-разработки (не CMS), предназначенный для быстрой разработки веб-приложений. Он отличается от большинства других фреймворков веб-разработки, таких как: Python Django, Java Servlets следующими способами:
Он разработан и настроен для работы с чрезвычайно высокими нагрузками.
Для достижения первой цели в качестве основного языка разработки используется современный C++.
Он предназначен для разработки как веб-сайтов, так и веб-сервисов.

Инструкция по сборке
http://cppcms.com/wikipp/en/page/cppcms_1x_build

Код: Выделить всё

sudo apt install libboost-locale-dev


Conan
Conan — это менеджер пакетов C++, который позволяет разработчикам легко управлять библиотеками C++ и совместно использовать их. Conan упрощает процесс интеграции сторонних библиотек в проекты, что делает его отличным выбором для управления зависимостями. Кроме того, Conan поддерживает кроссплатформенную разработку, позволяя разработчикам управлять зависимостями на нескольких платформах.

Советы по выбору фреймворка для C++

Вот конкретные рекомендации по выбору фреймворка C++ в зависимости от требований вашего проекта:

Если вам нужен кроссплатформенный фреймворк для разработки сложных приложений с богатым пользовательским интерфейсом и мультимедийными функциями, выберите Qt. Qt обладает обширной библиотекой модулей, которые предоставляют широкий спектр функциональных возможностей и поддерживают разработку для нескольких платформ.

Если вы ищете ориентированную на производительность библиотеку C++, которая предоставляет целый ряд алгоритмов, структур данных и контейнеров, выберите Boost. Boost известен своей производительностью и экономичностью, что делает его популярным выбором для разработки высокопроизводительных приложений.

Если вы разрабатываете сетевые приложения и вам нужен легкий фреймворк с модульной архитектурой, выберите Poco. Poco предоставляет набор библиотек, которые могут быть использованы для разработки сетевых приложений, а его модульная архитектура позволяет разработчикам использовать только необходимые компоненты.

Если вы разрабатываете веб-приложения с использованием C++ и вам нужен встроенный набор виджетов и модель событий на стороне сервера, выберите Wt. Wt — это платформа веб-приложений, которая позволяет разработчикам создавать веб-приложения с использованием C++ и предоставляет набор встроенных виджетов и компонентов, облегчающих создание сложных веб-приложений.

Если вам нужен менеджер пакетов, чтобы легко управлять библиотеками C++ для вашего проекта и совместно использовать их, выберите Conan. Conan упрощает процесс интеграции сторонних библиотек в проекты и поддерживает кроссплатформенную разработку, позволяя разработчикам управлять зависимостями на нескольких платформах.