LINUX.ORG.RU

C++


364

18

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

SRELL 4.056 — библиотека ECMAScript-совместимых регулярных выражений

 , , , ,

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

11 сентября состоялся выпуск 4.056 C++ библиотеки SRELL (Std::RegEx-Like Library), реализующей ECMAScript-совместимые регулярные выражения.

Список изменений:

  • поддержка Unicode 16.0.0;
  • другие небольшие изменения.

Особенности библиотеки:

  • header-only;
  • ECMAScript-совместимые регулярные выражения;
  • дизайн а-ля std::regex;
  • поддержка типов char8_t, char16_t и char32_t для C++11 и более поздних версий стандарта.

Более подробное описание доступно на сайте автора.

История изменений: англ./яп. (akenotsuki.com).
Постоянная ссылка на актуальную версию: https://www.akenotsuki.com/misc/srell/srell-latest.

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

dataman
()

Hyprland 0.42 — теперь без зависимости от wlroots

 , , ,

Группа Open Source

Вышла версия 0.42 тайлингового Wayland-композитора Hyprland, нацеленного на кастомизируемость и высокую производительность.
Композитор написан на языке C++ и распространяется по лицензии BSD-3.

Основные изменения и улучшения:

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

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

CrX
()

gpu.cpp — библиотека для вычислений на GPU

 ,

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

gpu.cpp — лёгкая переносимая библиотека для вычислений на графических сопроцессорах. Для работы требуется только компилятор C++, поддерживающий стандарт С++17 (разработчики почему-то настаивают на clang), и сама библиотека. Заявляется работа на любых устройствах, поддерживающих Vulkan, Metal, или DirectX.

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

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

Ygor
()

Intermediate Graphics Library 1.0.0

 , , , ,

Intermediate Graphics Library 1.0.0
Группа Разработка

Состоялся выпуск 1.0.0 C++ библиотеки Intermediate Graphics Library (IGL). Это кроссплатформенная библиотека для управления графическим процессором. Она предоставляет единый низкоуровневый кроссплатформенный интерфейс поверх различных графических API.

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

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

dataman
()

ugrep 6.2.0

 , , , ,

ugrep 6.2.0
Группа Open Source

Состоялся выпуск 6.2.0 быстрой консольной утилиты поиска текста ugrep, написанной на языке C++ и распространяемой по лицензии BSD-3.

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

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

dataman
()

RTranslator 2.0.0 и 2.0.1

 , , ,

Группа Android

После почти трёхлетней паузы состоялись выпуски 2.0.0 и 2.0.1 оффлайн-переводчика для Android RTranslator, написанного на языках C++ и Java и распространяемого по лицензии Apache 2.0.
Для работы приложению необходим достаточно быстрый смартфон с, как минимум, 6GB памяти.
Поддерживаемые языки: арабский, болгарский, каталонский, китайский, чешский, датский, немецкий, греческий, английский, испанский, финский, французский, хорватский, итальянский, японский, корейский, голландский, польский, португальский, румынский, русский, словацкий, шведский, тамильский, тайский, турецкий, украинский, урду и вьетнамский.

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

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

dataman
()

7-Zip 24.05

 , , , ,

7-Zip 24.05
Группа Open Source

После пяти месяцев разработки состоялся выпуск 24.05 библиотеки и консольной утилиты 7-Zip, написанных на языках C и C++ и предназначенных для работы с архивами в формате 7z (7-zip.org) и многих других.

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

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

dataman
()

whisper.cpp 1.6.0

 , , , ,

whisper.cpp 1.6.0

15 мая состоялся выпуск 1.6.0 высокопроизводительной системы автоматического распознавания речи whisper.cpp, реализующей модель Whisper от OpenAI на языках C и C++, и распространяемой по лицензии MIT.

Список изменений:

  • добавлена опция --flash-attn для ускорения обработки данных на устройствах с CUDA и Metal;
  • более высокая производительность на архитектуре ppc64;
  • исправлена ошибка обработки регулярного выражения в консольной утилите-примере main.

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

dataman
()

Qalculate! 5.1 и 5.1.1

 , , qalculate, ,

Группа Open Source

6 и 7 мая состоялись выпуски 5.1 и 5.1.1 C++ библиотеки, консольного и GUI-калькуляторов Qalculate!, написанных на языке C++ и распространяемых по лицензии GPL 2.0.

Изменения в библиотеке и консольном калькуляторе:

  • поддержка решения уравнений, содержащих функцию if();
  • поддержка решения root(a, x)=b (требуется рациональное значение для ln(a)/ln(b));
  • новые функции: powertower() и multiples();
  • новые единицы измерения солнечного радиуса, массы и светимости;
  • запрос желаемой интерпретации при первом использовании процентного сложения (например, 100 + 10% равно 110 или 100.1);
  • использование круглых скобок для экспоненты в научной системе счисления (со степенью 10);
  • поддержка целочисленной факторизации чисел в матрице или векторе, а также числителя и знаменателя в рациональном числе;
  • ослаблены условия для (x^a)^b = x^(a × b) и x^a × x^b = x^(a + b) при отключении комплексных чисел (исправлено падение);
  • исправление: если (ax + n)^2 > 1, где n чётно и a не равно 1, возвращается false;
  • исправления в функции setbits();
  • исправление Number::equals(0, ..., true), когда число бесконечно (влияет на функцию replace());
  • исправление a^(f(x))=a^(b*g(x)), где b=2 или b=3 (в версии 5.1.1).
  • другие исправления мелких ошибок и расширение возможностей.

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

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

dataman
()

Pluto 0.9.2

 , , , ,

Pluto 0.9.2
Группа Open Source

Состоялся корректирующий выпуск 0.9.2 консольного интерпретатора и встраиваемой библиотеки языка Pluto – альтернативной реализации языка Lua 5.4 со множеством изменений и улучшений в синтаксисе, стандартной библиотеке и интерпретаторе.

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

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

dataman
()

ugrep-indexer 1.0.0

 , , , ,

Группа Open Source

Состоялся выпуск 1.0.0 консольной утилиты ugrep-indexer, написанной на языке C++ и предназначенной для ускорения рекурсивного поиска утилитой ugrep (при использовании в ней ключа --index).

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

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

dataman
()

StringZilla 3.8.1

 , , , ,

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

StringZillaSIMD- и SWAR-оптимизированная библиотека для C++ (с биндингами для языков C, JavaScript (модуль Node.js), Python, Rust и Swift) для быстрых строковых операций: поиск подстрок и набора символов (прямой и обратный), сортировка, расстояние Левенштейна, расстояние Хэмминга и других. Однако, функциональность не одинакова для всех языков.
Проект распространяется по лицензии Apache-2.0.

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

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

dataman
()

Organic Maps в Google Summer of Code 2024

 , , , ,

Группа Open Source

Organic Maps призывает всех желающих принять участие в ежегодной программе Google Summer of Code 2024 (GSoC), в рамках которой контрибьюторы (не только студенты!) со всего мира участвуют в разработке программного обеспечения с открытым исходным кодом под руководством опытных наставников из различных организаций. Мы участвуем в программе третий год подряд.

Мы делаем открытые мобильные офлайн-карты для путешественников и любителей активного отдыха на основе данных OpenStreetMap. Приложение уже установили более миллиона пользователей из 186 стран мира. Приложение доступно в F-Droid, Google Play, AppStore и даже FlatHub (desktop версия для разработки). Про нас пишут в блогах и упоминают в ведущих СМИ (vc.ru). На GitHub проекте более 8k ⭐ и около 700 forks.

Мы призываем всех желающих попробовать силы для участия в проекте и программе GSoC в частности.

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

rtsisyk
()

NotepadNext 0.7

 , , , ,

Группа Open Source

После четырёх месяцев разработки состоялся выпуск 0.7 редактора текстов NotepadNext, написанного на языке C++ с использованием библиотек Qt, Scintilla и др., и распространяемого по лицензии GPL-3.0.

Изменения:

  • улучшения для Python: добавлены ключевые слова match и case; поддержка атрибутов декоратора;
  • в диалог настроек добавлена возможность выбора языка локализации;
  • добавлен визуальный индикатор уровня масштабирования;
  • добавлена возможность сохранения закладок между сеансами;
  • обновление заголовка окна при работе в режиме администратора;
  • другие изменения.

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

dataman
()

Thalassa CMS 0.1.20

 , , ,

Группа Open Source

Вышел очередной релиз Thalassa CMS, сочетающей генератор статического HTML и CGI-программу для поддержки пользовательских комментариев. Thalassa CMS написана на C++ и, по заявлению автора, не имеет внешних зависимостей, не использует СУБД и не генерирует страниц со скриптами.

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

>>> Подробности (croco.net)

anonymous
()

GLM 1.0.0 — математическая библиотека для C++

 , , , ,

GLM 1.0.0 — математическая библиотека для C++
Группа Разработка

24 января, после почти четырёхлетней паузы, состоялся выпуск 1.0.0 header-only SIMD-оптимизированной библиотеки для C++ GLM (github.com) (OpenGL Mathematics), основанной на спецификациях GLSL (pdf) (OpenGL Shading Language).

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

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

dataman
()

SRELL 4.038 — библиотека ECMAScript-совместимых регулярных выражений

 , , , ,

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

24 января состоялся выпуск 4.038 C++ библиотеки SRELL (Std::RegEx-Like Library), реализующей ECMAScript-совместимые регулярные выражения.
Список изменений:

  • исправлена ошибка, из-за которой по выражению /(?:ab)+|cd/ находилась строка «ababcd»;
  • небольшие улучшения.

Особенности библиотеки:

  • header-only;
  • ECMAScript-совместимые регулярные выражения;
  • дизайн а-ля std::regex;
  • поддержка типов char8_t, char16_t и char32_t для C++11 и более поздних версий стандарта.

Более подробное описание доступно на сайте автора.

История изменений: англ./яп. (akenotsuki.com).
Постоянная ссылка на актуальную версию: https://www.akenotsuki.com/misc/srell/srell-latest.

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

dataman
()

Дискуссия об использовании языка C++ для разработки ядра Linux

 ,

Группа Ядро Linux

В списке рассылки разработчиков ядра Linux возобновилось начатое шесть лет назад обсуждение перспектив использования современного кода на C++ в ядре Linux, помимо нынешнего применения языка Си с ассемблерными вставками и продвижения языка Rust. Изначально тема разработки ядра на C++ была поднята в 2018 году инженером из Red Hat, который первого апреля в качестве шутки опубликовал набор из 45 патчей для использования шаблонов, наследуемых классов и перегрузки функций C++ в коде ядра.

С инициативой продолжения обсуждения выступил Ганс Питер Анвин (Hans Peter Anvin), один из ключевых разработчиков ядра в компании Intel и создатель таких проектов как syslinux, klibc и LANANA, разработавший для ядра Linux систему автомонтирования, реализацию RAID 6, драйвер CPUID и x32 ABI. По мнению Анвина, который является автором многочисленных макросов и ассемблерных вставок в ядре, с 1999 года языки C и C++ значительно продвинулись вперёд в своём развитии и язык C++ стал лучше, чем С, подходить для разработки ядра операционных систем.

Возможности, для которых ещё недавно приходилось привлекать специфичные GCC-расширения, теперь легко реализовать на стандартном C++, и во многих случаях использование C++ позволит улучшить инфраструктуру без глобального изменения кода. В качестве минимальной упоминается использование спецификации C++14, которая включает необходимые средства метапрограммирования, а в качестве желаемой - использование спецификации C++20, в которой появилась поддержка концепций, способных исключить появление многих ошибок.

Анвин считает, что C++ более предпочтителен, чем Rust, так как последний существенно отличается от языка С по синтаксису, непривычен для текущих разработчиков ядра и не позволяет постепенно переписывать код (в случае языка С++ можно по частям переводить код с языка C, так как С-код можно компилировать как C++). В поддержку использования С++ в ядре также выступили Иржи Слаби (Jiri Slaby) из компании SUSE и Дэвид Хауэллс (David Howells) из Red Hat.

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

zx_gamer
()

CMake 3.28

 , , , ,

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

6 декабря состоялся выпуск 3.28 кроссплатформенной системы сборки CMake, написанной на языке C++ и распространяемой по лицензии BSD-3.

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

>>> Полный список изменений (kitware.com)

dataman
()

fish 3.6.2 и 3.6.3 с исправлением CVE-2023-49284

 , ,

Группа Безопасность

Состоялся корректирующий выпуск 3.6.2 интерактивной командной оболочки fish с исправлением уязвимости CVE-2023-49284.


fish shell использует некоторые символы Unicode для внутренней маркировки подстановочных знаков и расширений. Этот неправильный подход позволял читать эти символы в выводе подстановки команд, вместо того чтобы преобразовать их в безопасное внутреннее представление.

Хотя это может вызвать неожиданное поведение при прямом вводе (например, echo \UFDD2HOME имеет тот же вывод, что и echo $HOME), это может стать незначительной проблемой безопасности, если вывод подается из внешней программы в подстановку команд, где такой вывод может не ожидаться.

Этот недостаток дизайна появился в самых ранних версиях fish, ещё до появления системы контроля версий, и, как считается, присутствует в каждой версии fish, выпущенной за последние 15 лет или более, хотя и с разными символами.

Выполнение кода не представляется возможным, но DoS-атака (через раскрытие большого количества скобок) или раскрытие информации (например, через расширение переменных) потенциально возможны при определенных обстоятельствах.

В версии 3.6.3 исправлены только тесты.

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

dataman
()