LINUX.ORG.RU

C++


362

17

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

Zig 0.8

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

После 7 месяцев работы и 2711 коммитов вышла новая версия Zig: 0.8

Zig это:

  • Современный компилятор С

  • Современный компилятор С++

  • Компилятор языка Zig

  • Сборочная система для C, C++, языка Zig

  • (Планируется) Пакетный менеджер для С, C++, языка Zig

Zig разрабатывается под лицензией MIT: https://github.com/ziglang/zig/blob/master/LICENSE

Язык Zig – это язык общего назначения, который старается быть простым. Нет макросов, скрытых аллокаций, скрытого потока управления.

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

Полный список изменений: https://ziglang.org/download/0.8.0/release-notes.html

>>> Официальный сайт

 , ,

fsb4000
()

QtProtobuf 0.6.0

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

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

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

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

  • Генератор и библиотека QtProtobuf разделены на два отдельных модуля.
  • Изменены пути установки файлов .pri и модулей QML (для случая если установочный префикс не соответствует установочному префиксу фрэеймворка Qt).
  • Базовая поддерка кросскомпиляции (документация прилагается).
  • Исправлена поддержка вложенных типов со взаимозависимостями.
  • Исправлена проблема в буфере чтения для подписок gRPC.
  • Добавлена сигнатура вызова gRPC метода с возвращаемым значением в виде параметра функции.
  • Добавлен gRPC канал на основе нативной C++ имлементации gRPC.
  • Добавлены дополнительные gRPC методы для обработки ошибок и таймаутов канала.
  • Добавлена возможность генерировать дополнительное пространство имен (aka namespace) для protobuf сообщений. (ЭКСПЕРИМЕНТАЛЬНО)
  • Добавлена явная рефлексия protobuf сообщений, для более корректной json сериализации.
  • Изменено имя QML свойств. Теперь для QML двойников используется оригинальное имя protobuf сообщений.
  • Добавлена возможность генерация enum содержащего список полей protobuf сообщений.

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

  • Добавлена возможность отдельной сборки тестов.
  • Изменен механизм поиска сторонних зависимостей.
  • microjson статически линкуется к библиотеке QtProtobuf и больше не является зависимостью.
  • Добавлены бинарные пакеты для Windows.

>>> Подробности

 , , ,

semlanik
()

Сайт mingw.org недоступен более месяца

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

Сайт проекта недоступен более месяца, на главной висит заглушка.

Цель данного проекта – сборка нативных программ для Windows с помощью свободного программного обеспечения, в частности порта gcc, binutils и gdb, а также порта bash. Эту нелегкую ношу свободного ПО во мраке проприетарщины они несли свыше десяти лет. Новый проект, который взял на себя их задачи – Mingw-w64. По какой-то причине на сайте Mingw-w64 кривой сертификат.

>>> Подробности

 , ,

zanac1
()

Компания JFrog объявила о скором закрытии сервисов Bintray, JCenter, GoCenter и ChartCenter

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

Закрытие этих сервисов будет поэтапным:

  • Прямо сейчас - никаких изменений
  • 28 февраля - прекратится приём новых данных, вебсайты GoCenter и ChartCenter перестанут работать, однако их сервисы ещё будут доступны
  • с 12 по 26 апреля - подготовка к выключению
  • 1 мая - Bintray, JCenter, GoCenter и ChartCenter полностью перестанут быть доступными

В качестве альтернатив предлагаются:

Совсем недавно (13 января этого года) созданный сервис ConanCenter, предоставляющий репозиторий пакетов Conan для разработчиков на C/C++, продолжит работать. Он получил дополнительное финансирование.

>>> Подробности

 , , , ,

hummer
()

AviSynth+ 3.7.0

Группа Мультимедиа

Состоялся релиз кроссплатформенного фреймсервера для обработки видео AviSynth+ 3.7.0, написанного на C++ и использующего собственный язык скриптов. Готовые пакеты, включая плагины, предоставлены в репозитории Arch Linux. Инструкция для создания собственной сборки доступна здесь.

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

>>> Подробности

 , ,

antianon
()

NVIDIA CUDA Toolkit 11 и драйверы 450+

Группа Hardware and Drivers

Бинарные сборки CUDA Toolkit 11+ и Драйверов 450+ доступны для загрузки с репозитория nvidia для Fedora 32, Ubuntu 20.04 и др.

Официальной новости я не смог найти, но те кто использует адаптированные версии от negativo17 или ручной сборки, смогут обновиться и начать использовать таки C++17 в начале перехода мира на C++20

>>> Адрес репозитория

 , , ,

sparks
()

ZenMake 0.10.0

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

ZenMake — ещё одна система сборки для C/C++ и ряда других языков программирования с декларативными конфигурационными файлами.

ZenMake написан на python с использованием Waf в качестве фреймворка. Основная цель проекта — быть простым в использовании насколько это возможно, но оставаться достаточно гибким.

Зачем еще одна система сборки? Подробности (на английском): https://zenmake.readthedocs.io/en/latest/why.html

Основной репозиторий: https://gitlab.com/pustotnik/zenmake

Документация: https://zenmake.readthedocs.io/

Примеры использования: https://gitlab.com/pustotnik/zenmake/tree/master/demos

Способы использования:

  1. Установить в систему через pip install zenmake и использовать на манер CMake, Meson и др., вызывая zenmake в корне проекта.
  2. Скачать zipapp-форму zenmake.pyz отсюда или сгенерировать самостоятельно через команду zipapp и использовать как встроенную систему сборки.

>>> Подробности

 , ,

Vark
()

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.

>>> Подробности

 , , , ,

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

 , , ,

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 в целях избежания использования ? как символа подстановки параметров.

>>> Подробности

 , , ,

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. Это первый официальный стабильный релиз.

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

>>> Подробности

 , , ,

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.

>>> Подробности

 , , ,

anonymous
()

C++ Siberia 2020

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

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

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

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

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

>>> Подробности

 , ,

sermp
()

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

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

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

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

>>> Подробности

 , ,

a1batross
()

Jinja2 на С++

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

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

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

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

>>> Подробности

 ,

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, которая развивалась более четырех лет.

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

>>> Подробности

 , , ,

eao197
()

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

Группа Open Source

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

>>> Источник

 , ,

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 (подпись)

Зеркало

>>> Подробности

 , , , ,

bodqhrohro_promo
()

Cantera 2.4.0

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

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

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

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

>>> Подробности

 , , , ,

grem
()

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

Группа Open Source

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

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

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

>>> Подробности

 , , ,

Xintrea
()