LINUX.ORG.RU

C++


364

18

Всего сообщений: 277

QtProtobuf 0.5.0

 , , , ,

Группа Разработка

Выпущена новая версия библиотеки QtProtobuf.

QtProtobuf — свободная библиотека, выпускаемая под лицензией MIT. С ее помощью вы можете с легкостью использовать Google Protocol Buffers и gRPC в вашем Qt проекте.

Ключевые изменения:

  • Добавлена библиотека поддержки Qt-типов. Теперь можно использовать часть Qt типов в описании protobuf сообщений.
  • Добавлена поддержка Conan, спасибо @GamePad64 за помощь!
  • Вызов методов call и subscription в QtGrpc теперь потокобезопасны.
  • Добавлено поле returnValue для QQuickGrpcSubscription. Теперь можно делать QML биндинг на сообщения созданные в QML контексте без промежуточных обработчиков.
  • Для согласования с концепциями protobuf, все поля в сообщениях выставляются в значения по умолчанию перед началом десериализации.

Незначительные изменения:

  • Переработан поиск qmake в процедуре простройки проекта. Приоритет отдается qmake из CMAKE_PREFIX_PATH.
  • Переработана статическая простройка проекта, исправлены некоторые ошибки.
  • Исправлена ошибка «зависшей» подписки при работе с QQuickGrpcSubscription и QML контекста.
  • Добавлена конвертация для типа google.protobuf.Timestamp из/в QDateTime.

>>> Подробности (github.com)

semlanik
()

Доступна предварительная сборка Qt 6.0

 , , ,

Группа Разработка

Qt Company сообщила в своём блоге о доступности первой предварительной сборки Qt 6.0.

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

Первая предварительная сборка содержит следующие модули:

  • Qt Core
  • Qt GUI
  • Qt Widgets
  • Qt Network
  • Qt QML
  • Qt Quick
  • Qt Quick Controls
  • Qt SVG
  • Qt Network Authorization
  • Qt SQL
  • Qt Test
  • …и несколько других модулей

Qt Company и далее собирается предоставлять регулярные предварительные сборки Qt 6.0, получить же их можно воспользовавшись установщиком Qt в категории Preview.

Выпуск Qt 6 намечен на 1 декабря, а 31 августа предполагается заморозка добавления функциональности.

>>> Блог Qt (qt.io)

c0deum
()

U++ Framework 2020.1

 , , ,

Группа Разработка

В мае этого года (точная дата не сообщается) вышла новая, 2020.1, версия U++ Framework (Он же Ultimate++ Framework). U++ — кроссплатформенный фреймворк для создания GUI приложений.

Нововведения в текущей версии:

  • Linux бэкенд по умолчанию теперь использует gtk3 вместо gtk2.
  • «look&feel» в Linux and MacOS переработан и лучше поддерживает тёмные темы.
  • У ConditionVariable и Semaphore появились варианты метода Wait с параметром timeout.
  • Добавлена функция IsDoubleWidth для определения глифов UNICODE двойной ширины.
  • U++ теперь использует директории ~/.config and ~/.cache для хранения разного.
  • Добавлена функция GaussianBlur.
  • Модернизирован внешний вид виджетов в дизайнере слоёв.
  • Поддержка нескольких мониторов в MacOS и другие исправления.
  • В дизайнер добавлено несколько часто используемых виджетов, таких как ColorPusher, TreeCtrl, ColumnList.
  • Нативный диалог выбора файлов, FileSelector, переименован в FileSelNative и добавлен в MacOS (в дополнение к Win32 и gtk3).
  • Рефракторинг GLCtrl в OpenGL/X11.
  • Добавлена функция GetSVGPathBoundingBox.
  • PGSQL теперь может экранировать ? через ?? или использовать метод NoQuestionParams в целях избежания использования ? как символа подстановки параметров.

>>> Подробности (ultimatepp.org)

next_time
()

Релиз кроссплатформенного UI фреймворка MauiKit 1.1.0

 , , ,

Релиз кроссплатформенного UI фреймворка MauiKit 1.1.0
Группа Разработка

Проект Maui – это свободное программное обеспечение с открытым исходным кодом, поддерживаемое сообществом KDE и разработанное Nitrux Latinoamericana.

MauiKit – набор элементов управления и инструментов, основанных на QQC2 и Kirigami, совместно используемых в наборе приложений Maui. MauiKit помогает быстро создавать пользовательские интерфейсы, которые соответствуют Maui HIG. Основан на Qt, QML, и C++. Содержит компоненты, готовые к использованию и работающие на Android, Linux, Windows, Mac OS и iOS.

Версия 1.1.0 содержит обновления, новые функции, исправления ошибок. Для этого первого полного релиза пакеты распространяются непосредственно с официальной веб-страницы MauiKit. Это первый официальный стабильный релиз.

( читать дальше... )

>>> Подробности (nxos.org)

cocucka
()

LLVM 10.0

 , , ,

Группа Разработка

LLVM – платформа для разработки компиляторов и тулчейнов под лицензией Apache 2.0 с исключениями.

Некоторые изменения в clang:

  • Теперь по умолчанию компиляция не запускается в новом процессе как раньше.

  • Поддерживаются концепты C++20.

  • Арифметика указателей в C и C++ разрешается только в пределах массивов, в соответствии со стандартами. Добавлены соответствующие проверки в Undefined Behavior Sanitizer.

  • Улучшена поддержка OpenCL и OpemMP 5.0.

  • Поведение в ряде случаев приближено к поведению GCC.

Некоторые общие изменения в LLVM:

  • Новые intrinsics для генерации оптимизированных векторных инструкций.

  • Значительно расширены возможности межпроцедурной оптимизации в экспериментальном фреймворке Attractor.

  • Множество улучшений в поддержке различных архитектур (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).

А также различные улучшения в libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.

>>> Подробности (llvm.org)

anonymous
()

C++ Siberia 2020

 , ,

C++ Siberia 2020
Группа Конференции и встречи

28-29 февраля мы отпразднуем конец зимы, прогрев мозги до максимально возможной температуры.

На очередной C++ Siberia обсудим конкурентность, функциональщину, рефлексию, новые стандарты и эпик фейлы комитета стандартизации. Выступят Тимур Думлер, Антон Полухин, Виталий Брагилевский и другие.

Конференция пройдет в лекторий-баре ПОТОК, что по адресу Новосибирск, Депутатская, 46.

До встречи на конференции!

>>> Подробности (cppug.ru)

sermp
()

Вышла новая версия CMake 3.16.0

 , ,

Группа Разработка

Вышла новая версия популярной системы сборки CMake 3.16.0 и сопутствующих утилит CTest и CPack, облегчающих тестирование и сборку пакетов соответственно.

( читать дальше... )

>>> Подробности (kitware.com)

a1batross
()

Jinja2 на С++

 ,

Группа Разработка

Вышел шаблонизатор файлов на С++ Jinja2Cpp. Это генератор файлов на основании шаблонов, аналог известной программистам на Python Jinja.

За основу взята спецификация Jinja.

Статьи от автора, раскрывающие некоторые аспекты и освещающие тёмные места — здесь и здесь.

>>> Подробности (github.com)

Moisha_Liberman
()

SObjectizer-5.6.0: новая мажорная версия акторного фреймворка для C++

 , , ,

Группа Разработка

SObjectizer — это относительно небольшой фреймворк для упрощения разработки сложных многопоточных приложений на C++. SObjectizer позволяет разработчику строить свои программы на базе асинхронного обмена сообщениями с использованием таких подходов, как Actor Model, Publish-Subscribe и CSP. Это открытый проект под лицензией BSD-3-CLAUSE. Краткое впечатление о SObjectizer можно составить на основании вот этой презентации.

Версия 5.6.0 является первым мажорным релизом новой ветки SObjectizer-5.6. Что означает также завершение развития ветки SObjectizer-5.5, которая развивалась более четырех лет.

( читать дальше... )

>>> Подробности (google.com)

eao197
()

Реализация FastCGI на современном C++

 , ,

Группа Open Source

Доступна новая реализация протокола FastCGI, написанная на современном C++17. Библиотека примечательна простотой в использовании и высокой производительностью. Возможно подключение как в виде статически и динамически связанной библиотеки, так и через встраивание в приложение в форме заголовочного файла. Кроме Unix-подобных систем обеспечена поддержка использования в Windows. Код поставляется под свободной лицензией zlib.

>>> Источник (opennet.ru)

anonymous
()

Bison 3.2

 , , , ,

Группа GNU's Not Unix

Bison — это генератор синтаксических анализаторов общего назначения, преобразующий аннотированную контексто-свободную граматику в детерминированный LR- или обобщённый LR(GLR)-анализатор, задействующий таблицы анализатора LALR(1). Bison также умеет генерировать таблицы IELR(1) и канонические LR(1). Овладев Bison, можно использовать его для разработки разнообразных языковых анализаторов — от применяющихся в простых настольных калькуляторах до сложных языков программирования. Bison обратно совместим с Yacc: все корректно составленные Yacc-грамматики должны работать с Bison без изменений.

В детерминистический C++-каркас, lalr1.cc, привнесены масштабные изменения. Если включена поддержка вариантов и компилятор поддерживает C++11 и выше — типы только для перемещения теперь можно использовать для семантических значений. Поддержка C++98 не объявлена устаревшей. Огромное спасибо Френку Хекенбаху за проторенный его реализацией каркаса на C++17 путь к этому выпуску.

Значимые изменения в этом выпуске:

Домашняя страница

Сжатые исходники: .tar.gz (подпись), .tar.xz (подпись)

Зеркало

>>> Подробности (gnu.org)

bodqhrohro_promo
()

Cantera 2.4.0

 , , , ,

Группа Разработка

Группа разработчиков пакета Cantera рада представить выпуск версии 2.4.0.

Cantera - набор инструментов и библиотек с открытым исходным кодом для решения задач химической кинетики, термодинамики и процессов переноса. Может использоваться в программах написанных на Python и Matlab, а так же при написании приложений на языках C++ и Fortran.

( читать дальше... )

>>> Подробности (cantera.org)

grem
()

Релиз персонального менеджера для накопления информации MyTetra v.1.43

 , , ,

Группа Open Source

Опубликован новый релиз кроссплатформенного PIM-менеджера MyTetra v.1.43. Это багфикс-релиз, выпущенный спустя два года после основного релиза. Список изменений состоит из 24 пунктов, среди которых не только исправление выявленных при эксплуатации проблем, но и добавление нового функционала.

В данном релизе сделано много мелких правок для встроенного WYSIWYG редактора, улучшено редактирование ссылок и доработано поведение редактора на граничных местах текста - в начале и конце области редакторования. Исправлена работа с различными нестандартными именами прикрепляемых файлов (dot-файлы, файлы без расширений и т.п.), исправлено взаимодействие программы с различными оконными средами (DE) в плане правильного восстановления геометрии окна и назначении кнопок по-умолчанию.

( читать дальше... )

>>> Подробности (webhamster.ru)

Xintrea
()

Eclipse 4.8.0 Photon

 , , , ,

Группа Open Source

27 июня вышла новая версия Eclipse 4.8.0 Photon. Eclipse - платформа для построения IDE, включающая в себя плагины для поддержки разработки на разных языках. По словам Майка Милинковича, исполнительного директора Eclipse Foundation, задача Eclipse Photon - расширение многоязычных возможностей Eclipse за счет взаимодействия по протоколу LSP (Language Server Protocol), через который предоставляются поддержка редактирования кода на современных языках (в Eclipse поддерживается LSP версии 3.6 и Debug Adapter protocol 1.25).

Обновления плагинов:

В состав Eclipse включен плагин для поддержки разработки на Rust - Eclipse Corrosion 0.1.0 (первый языковый плагин, построенный на взаимодействии по LSP).

>>> Подробности (eclipse.org)

tailgunner
()

Открыт исходный код компилятора C++ Zapcc

 , , ,

Группа Разработка

Zapcc — компилятор языка C++, основанный на наработках LLVM/Clang, данный компилятор отличается высокой скоростью компиляции из-за применения активного кеширования в различных этапах сборки программы. Данный компилятор может выступать в качестве замены gcc и clang, также он поддерживает интеграцию с любыми системами сборок. Исходный код был открыт под лицензией LLVM и располагается на GitHub.

Данный компилятор заметно ускоряет компиляцию C++, но для C это не настолько заметно, к примеру сборка Boost.Math производится в 10 раз быстрее чем у clang, сборка Webkit происходит в 2-4 раза быстрее, сборка Clang при помощи Zapcc выполняется в два раза быстрее, чем самим Clang.

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

Сборка Boost.Math

Сборка WebKit

Официальный сайт проекта

Репозиторий на GitHub

>>> Подробности (ycombinator.com)

playX
()

Вышел новый C++ API для PostgreSQL - PostgreSQL Frontend (Pgfe)

 ,

Группа Open Source

Новый C++ API для PostgreSQL (в стадии «бета») представлен в публичный доступ.

Основные возможности включают:

  • возможность работы с соединениями обычным и неблокирующим нити способом
  • возможность работы с подготовленными выражениями (prepared statements) и с именованными параметрами в них
  • возможность работы с кодами ошибок SQLSTATE (так же просто, как с обычными enum'ами)
  • динамическое создание SQL-запросов
  • расширяемая поддержка преобразований данных разных типов (включая преобразования массивов PostgreSQL в контейнеры STL и обратно)

Запланированы также следующие возможности:

  • поддержка Large Objects через потоки ввода/вывода стандартной библиотеки C++
  • поддержка команды COPY
  • поддержка работы с SQL отдельно от кода C++
  • поддержка работы с композитными типами данных
  • поддержка работы с массивами переменных размерностей

Ссылки:

Документация Pgfe

Страница проекта Pgfe на GitHub

>>> Подробности (postgresql.org)

anonymous
()

GCC 8.1

 , c++2a, , ,

Группа GNU's Not Unix

Спустя намеченный год после выхода предыдущего мажорного выпуска «Коллекции компиляторов ГНУ» [0], увидел свет GCC 8.1. Разработчики обещают свежие возможности и более жесткую оптимизацию.

( читать дальше... )

>>> info-gnu@gnu.org (gnu.org)

Zmicier
()

Конференция C++ Russia 2018 в Санкт-Петербурге

 , ,

Группа Конференции и встречи

Хао, бледнолицые!

19-21 апреля в Санкт-Петербурге пройдёт конференция C++ Russia. Ещё больше трэша и угара в этом году: Jon Kalb, Andrei Alexandrescu, Антон Полухин, Ivan Čukić, Михаил Матросов и другие докладчики. Обсудим новый стандарт, сборку и отладку C++ проектов, функциональный подход (кто сказал Haskell?!), модель памяти, конкурентность и параллелизм и много-много другой боли.

Первый день конференции (19 апреля) посвящен мастер-классам. Шесть часов интенсивной C++ терапии от лучших собако^W специалистов. На мастер-класс вы приходите с ноутбуком и платите за то, чтобы писать код: отличное развлечение для всей семьи!

Вечером первого дня организуется ужин с докладчиками: этакий social event на буржуйский манер. Покупаете билет и можно не просто придти поесть, а объяснить докладчикам в чем они не правы (например, Александреску).

Конференция пройдет в гостинице Прибалтийская, что по адресу Санкт-Петербург, ул. Кораблестроителей, 14.

До встречи на конференции!

>>> Подробности (cppconf.ru)

sermp
()

Code::Blocks 17.12

 , , ,

Группа Разработка

30 декабря 2017 г., спустя 2 года разработки, вышла новая версия Code::Blocks 17.12 - среды разработки на языках С, С++, D (теперь и для него, с ограничениями) и Fortran.

Данный выпуск, как всегда, содержит множество исправлений ошибок, улучшений и новых возможностей.

Среди них, например, для компонента «Core/UI» можно отметить:

  • editor: Исправление ошибки копирования/вставки средней кнопкой мыши при использовании wxGTK2.8.
  • editor: Вставка новой строки перед и после текущей строки, если она без выравнивания.
  • editor: В компоненте UpdateUI поведение при использовании 'Select next occurrence' и 'Select skip to next occurrence' (вероятно, имеется ввиду инструмент «мультикурсор») сделано более логическим.
  • lexer: Добавлено несколько новых ключевых слов в лексический анализатор языка Fortran.
  • Добавлен множественный выбор в диалоге «Copy to...» при поиске директорий (Search Directories).
  • editor: Добавлено переключение между заголовочными файлами и реализацией для шаблонов (.tpp;.tcc . <-> .h;.hpp).
  • Добавлена возможность переименовывать виртуальные каталоги через меню.
  • Добавлена возможность выбора используемой схемы подсветки синтаксиса в соответствующем меню в строке статуса.

И многое другое, в том числе улучшения для автодополнения кода, взаимодействия с компиляторами, отладчиком и других компонентов.

Бинарные сборки в виде tar-архивов подготовлены для Debian {9,10}, Fedora {26-28} и CestOS 7.

Полный список основных изменений приведён по ссылке в «Подробностях».

>>> Подробности (codeblocks.org)

grem
()

Вышел Boost 1.66

 ,

Группа Разработка

Boost — кроссплатформенный набор библиотек C++ для разных задач.

Новые библиотеки:

  • Beast — реализация протоколов HTTP/1 и WebSocket поверх Asio;
  • CallableTraits — интроспекция и модификация callable types, наследник Boost.FunctionTypes;
  • Mp11 — библиотека метапрограммирования на основе C++11.

Из прочих изменений можно отметить:

  • Asio — API изменен в соответствии с Networking TS;
  • Atomic — новые экспериментальные операции fetch_negate, <op>_and_test, bit_test_and_set и другие;
  • Stacktrace — улучшена поддержка MinGW;
  • Thread — новые экспериментальные методы promise: set_value_deferred/set_exception_deferred.

>>> Подробности (boost.org)

anonymous
()