LINUX.ORG.RU

C++


356

18

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

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

 , ,

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

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

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

>>> Подробности (mingw-w64.org)

zanac1
()

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

 , , , ,

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

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

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

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

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

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

hummer
()

AviSynth+ 3.7.0

 , ,

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

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

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

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

antianon
()

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

 , , ,

Группа Hardware and Drivers

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

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

>>> Адрес репозитория (nvidia.com)

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 и использовать как встроенную систему сборки.

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

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.

>>> Подробности (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
()