LINUX.ORG.RU

C


326

4

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

GNU C Library v2.30

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

Вышла новая версия системной библиотеки glibc – 2.30.

Некоторые обновления:

  • Кодировка символов, информация о типах символов и таблицы транслитерации обновлены и теперь поддерживают Unicode версии 12.1.0.
  • Динамический компоновщик принимает аргумент --preload для предварительной загрузки объектов в дополнение к переменной окружения LD_PRELOAD.
  • Добавлена ​​функция twalk_r. Она похожа на уже имеющуюся функцию twalk, но она может передавать дополнительный аргумент в функцию обратного вызова.
  • В Linux были добавлены функции getdents64, gettid и tgkill.
  • Функции malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign и posix_memalign теперь не работают с объектами, размер которых больше, чем PTRDIFF_MAX. Это сделано для того, чтобы избежать переполнения типа ptrdiff_t.
  • Добавлены новые функции pthread_cond_clockwait, pthread_mutex_clocklock, pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock и sem_clockwait. Они эквивалентны timed, но также могут принимать параметр clockid_t, чтобы определить время ожидания. Все функции позволяют ожидать CLOCK_MONOTONIC и CLOCK_REALTIME. Решение о том, какие часы использовать, принимается во время ожидания (в отличие от pthread_condattr_setclock, который требует выбора часов во время инициализации).
  • В AArch64 распознаватель GNU IFUNC вызова ABI изменился: старые распознаватели все еще работают, а новые могут использовать второй аргумент, который может быть расширен в будущем. В настоящее время он содержит значение AT_HWCAP2.

>>> Больше изменений и подробности

 , ,

anonymous
()

cfiles 1.3

Группа Open Source

Представлен новый выпуск консольного файлового менеджера cfiles, написанный на C и нацеленный на то, чтобы предоставить функционал файлового менеджера ranger, будучи при этом быстрым, легковесным и минималистичным.

Из особенностей можно выделить:

  • Vim-like управление.
  • Использует w3imgdisplay или Überzug для предпросмотра картинок на выбор пользователя.
  • Использует atool для предпросмотра архивов.
  • Использует mediainfo для просмотра информации о медиа-файлах и размеров файлов.
  • Использует fzf, написаный на Go, для поиска.

>>> GitHub проекта

 , cfiles, , ,

Deleted
()

luastatus 0.4.0

Группа Open Source

Вышла новая версия luastatus, универсального генератора данных для панелей состояния, поддерживающего i3bar, dwm, lemonbar и другие. Программа написана на C и распространяется под лицензией GNU LGPL v3.

Большинство генераторов данных для панелей состояния тайловых WM либо обновляют информацию по таймеру (например, conky), либо требуют сигнал для перерисовки (например, i3status). Панели же в составе окружений рабочего стола, как правило, обновляют информацию мгновенно и автоматически, как и luastatus.

luastatus позволяет пользователю определять логику обработки данных от плагинов, написанных на Си и поставляющихся с luastatus, с помощью виджетов, написанных на Lua. Также виджеты могут обрабатывать события, такие как щелчки по панели состояния.

Нововведения релиза:

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

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

>>> Информация о релизе

 , , , ,

shdown
()

Новый стандарт языка C: C18

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

Международная Организация по Стандартизации (ISO) опубликовала новый международный стандарт языка программирования C: ISO/IEC 9899:2018, его также называют C17 и C18.

Новый стандарт не вносит никаких новых возможностей, а лишь исправляет дефекты, сообщенные для C11. Значение макроса __STDC_VERSION__ увеличено до 201710L.

Поддержка C18 у GCC появилась, начиная с 8 версии, а у LLVM Clang — с 6.0. Чтобы указать во время компиляции использование стандарта C18 у GCC и LLVM Clang используются флаги -std=c17 и -std=gnu17. В GCC можно также указать новый стандарт флагами -std=c18 и -std=gnu18.

Последний черновик стандарта

Статья на en.wikipedia.org

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

 , c18, ,

neon1ks
()

GNU OrgaDoc 1.0

Группа GNU's Not Unix

OrgaDoc предназначен для простого сопровождения и копирования набора документов между компьютерами. Набор документов можно синхронизировать с помощью rsync или unison. Не нужно устанавливать СУБД типа MySQL или PostgreSQL, HTTP-сервер, скриптовый язык типа PHP или Perl — достаточно установить OrgaDoc и генерировать им документы в HTML или других форматах.

Примеры использования:

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

Изменения с версии 0.9:

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

>>> Скачать: HTTP, FTP, зеркало GNU

>>> Источник

 , , , ,

bodqhrohrojkeeee228
()

luastatus 0.3.0

Группа Open Source

Вышла новая версия luastatus, универсального генератора данных для панелей состояния, поддерживающего i3bar, dwm и lemonbar (также есть экспериментальная поддержка dzen/dzen2, xmobar, wmii и других). Программа написана на C и распространяется под лицензией GNU LGPL v3.

Большинство генераторов данных для панелей состояния тайловых WM либо обновляют информацию по таймеру (например, conky), либо требуют сигнал для перерисовки (например, i3status). Панели же в составе окружений рабочего стола, как правило, обновляют информацию мгновенно и автоматически, как и luastatus.

luastatus позволяет пользователю определять логику обработки данных от плагинов, написанных на Си и поставляющихся с luastatus, с помощью виджетов, написанных на Lua. Также виджеты могут обрабатывать события, такие как щелчки по панели состояния.

Нововведения релиза:

  • Поддержка так называемых “derived plugins” — плагинов, написанных на Lua.

  • Новые плагины:
    • dbus;

    • udev;

    • backlight-linux;

    • battery-linux;

    • cpu-usage-linux;

    • file-contents-linux;

    • imap;

    • mem-usage-linux;

    • pipe.

  • При ошибке в виджете теперь печатается стек-трейс.

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

>>> Страница релиза

 , , , ,

shdown
()

Релиз nEMU 2.0.0

Релиз nEMU 2.0.0
Группа Open Source

Состоялся релиз nEMU версии 2.0.0.

nEMU — это ncurses-интерфейс к QEMU, упрощающий создание, настройку и управление виртуальными машинами. Код написан на языке C и распространяется под лицензией BSD-2.

В этом релизе был полностью переписан пользовательский интерфейс, т.к. старый был изначально странен и неудобен.

Видео с новым интерфейсом доступно по ссылке

Для Gentoo Linux данный релиз уже доступен через live-ebuild (app-emulation/nemu-9999).

Deb-пакеты для Debian и Ubuntu можно взять тут (спасибо Sergei Eremenko (SmartFinn)).

Файл локализации для ru.RU требует полной переработки. У меня проблема с временем и я буду рад pull-реквестам.

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

 , ,

pascal
()

Новая версия библиотеки plibsys 0.0.4

Группа Open Source

Вышла новая версия библиотеки plibsys 0.0.4. plibsys - это системная библиотека, написанная на С, и портированная на большое количество систем и компиляторов. Библиотека обеспечивает работу с потоками, межпроцессное взаимодействие, сокеты и много чего полезного. Так как ранее она уже была представлена здесь сообществу, то подробное описание можно прочитать из соответствующей новости.

Во-первых, хочется выразить благодарность ЛОРу за конструктивную критику и пожелания. Это помогает переосмысливать некоторые вещи. Во-вторых, спасибо тем, кто создал пакеты под разные системы и дистрибутивы, помог с распространением. И спасибо тем, кто помогал в некоторых моментах с тестированием (особенно на ПК «Эльбрус»).

Теперь к изменениям в новой версии. Возможно, некоторые из изменений уже были отражены в прошлой новости частично, но я дам полный список для простоты.

( Что же изменилось за прошедший год? )

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

 , , , ,

HardCode
()

SDL 2.0.7

Группа Игры

Simple DirectMedia Layer (SDL) — это свободная кроссплатформенная мультимедийная библиотека, реализующая единый программный интерфейс к графической подсистеме, звуковым устройствам и средствам ввода для широкого спектра платформ. Она активно используется при написании кроссплатформенных мультимедийных программ (в основном игр).

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

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

 , ,

a1batross
()

Состоялся релиз Nuklear+ - библиотеки-обёртки для GUI Nuklear

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

Nuklear+ (читается как «Nuklear cross», значит «кроссплатформенный Nuklear») — это надстройка над GUI библиотекой Nuklear, которая позволяет абстрагироваться от драйвера вывода и взаимодействия с операционной системой. Нужно написать один простой код, а он потом уже сможет скомпилироваться под все поддерживаемые платформы:

  • SDL: OpenGL 3, OpenGL 2, OpenGL ES 2.0, Emscripten
  • GLFW: OpenGL 3, OpenGL 2, Emscripten
  • X11: OpenGL 3, OpenGL 2, чистый Х11 без OpenGL
  • GDI+

На хабрахабре есть статья про использование Nuklear+. Она же доступна на английском. Пример игры, написанной на Nuklear+ и портированной через Emscripten, можно увидеть тут. Так же имеется веб демо возможностей самого Nuklear.

>>> Репозиторий проекта Nuklear+

 , , ,

DeXPeriX
()

plibsys — кросс-платформенная системная библиотека на C

Группа Open Source

Недавно ко мне обратились с вопросом, не хочу ли я написать новость об одной из разрабатываемых библиотек (plibsys). В принципе, я не против, поэтому эксклюзивно для LOR.

Что такое plibsys?

plibsys — это кросс-платформенная системная библиотека, написанная на чистом C. Основной упор был изначально сделан на портируемость и поддержку широкого спектра компиляторов. Для достижения этих целей у библиотеки отсутствуют (небольшим исключением является SCO OpenServer 5 ввиду отсутствия на ней потоков) какие-либо зависимости — используются только те вызовы, которые доступны в целевой ОС. Также никакого ассемблера и использования прочих недокументированных возможностей. Для сборки нужен только рабочий компилятор и CMake.

Изначально библиотека писалась для запуска потоков и работы с сокетами, но постепенно функционал расширялся по мере необходимости. На данный момент есть следующий функционал:

  • Платформо-независимые типы данных
  • Потоки и средства синхронизации: мьютексы, условные переменные, блокировки чтения-записи, спинлоки, атомарные операции
  • Межпроцессное взаимодействие: семафоры, разделяемая память, кольцевой буфер
  • Сокеты (UDP, TCP) с поддержкой IPv4 и IPv6
  • Хэш-функции: MD5, SHA-1, SHA-2, SHA-3, GOST (R 34.11-94)
  • Бинарные деревья: несбалансированное, красно-черное, АВЛ
  • Загрузка разделяемых библиотек
  • Работа с памятью: mmap, установка собственного аллокатора
  • Замер времени исполнения (по возможности — в высоком разрешении)
  • Базовая работа с файлами и директориями
  • Парсер файлов INI
  • Макросы для определения архитектуры ЦПУ, ОС и компилятора
  • Различные вспомогательные структуры данных типа связанного списка, хэш-таблицы, обработка строк

На все есть документация.

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

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

 , , ,

HardCode
()

Релиз nEMU 1.2.0

Группа Open Source

Проект nEMU (в прошлом qemu-manage) дорос до версии 1.2.0.

nEMU — это ncurses-интерфейс к QEMU, упрощающий создание, настройку и управление виртуальными машинами.

Код написан на языке C и распространяется под лицензией BSD-2.

Изменения:

  • импорт образа виртуального диска с установленной ОС;
  • снепшоты (через интерфейс QMP);
  • выключение гостевой машины (через QMP);
  • сброс гостевой системы (через QMP);
  • поддержка сетевого драйвера vmxnet3;
  • поддержка vhost для virtio-net-pci;
  • возможность удаления дополнительного виртуального диска;
  • возможность использования устаревшей опции -cdrom (нужна для установки Minix3).

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

 ,

pascal
()

rfcreader 0.4

Группа Open Source

Вышла новая версия программы для поиска документов RFC с интерфейсом на curses — 0.4.
Новые возможности:

  • обработка изменения размеров терминала;
  • выбор просмотра: txt или pdf (если доступно);
  • поиск ключевых слов теперь не зависит от регистра букв;
  • обновление теперь осуществляется с помощью той же программы.

Обновление базы документов RFC:

rfcreader -update
Подготовлены deb-пакеты для установки.

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

 ,

u0atgKIRznY5
()

luastatus — генератор данных для панелей состояния, поддерживающий i3bar и dwm

Группа Open Source

Вышла первая версия luastatus — универсального генератора данных для панелей состояния, поддерживающего i3bar и dwm. Программа написана на C и распространяется под лицензией GNU LGPL v3.

Большинство генераторов данных для панелей состояния тайловых WM либо обновляют информацию по таймеру (например, conky), либо требуют сигнал для перерисовки (например, i3status). Панели же в составе окружений рабочего стола, как правило, обновляют информацию мгновенно и автоматически, как и luastatus.

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

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

>>> Страница релиза

 , , , ,

shdown
()

Бесплатная лицензия PVS-Studio для открытых проектов

Группа Проприетарное ПО

Разработчики PVS-Studio хотели бы помочь миру программного обеспечения лучше познакомиться с инструментами статического анализа кода и повысить его качество. Теперь PVS-Studio предоставляется бесплатного студентам в учебных целях, индивидуальным разработчикам и коллективам энтузиастов.

( Подробнее )

>>> Подробная статья на Хабре

 , , , ,

Andrey_Karpov_2009
()

Corrode, проект транслятора из C в Rust, получил финансирование Mozilla

Группа Open Source

Джеймс Шарп (James Sharp), отметившийся ранее в проекте X.org, в начале мая 2016 начал разработку проекта Corrode, целью которого является трансляция программ, написанных на C, в исходный код на Rust. Corrode написан на Haskell и распространяется под GNU GPLv2.

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

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

 , corrode, , ,

shahid
()

PVS-Studio для Linux

Группа Проприетарное ПО

Появилась версия анализатора PVS-Studio, работающая в GNU/Linux. До этого программа работала только в Windows.

PVS-Studio — это инструмент для выявления ошибок в исходном коде программ, написанных на С и C++. В случае интеграции с Visual Studio также возможна проверка проектов на C#.

PVS-Studio выполняет широкий спектр проверок кода, но наиболее удачно справляется с поиском опечаток и последствий неудачного Copy-Paste. Показательные примеры таких ошибок: V501, V517, V522, V523, V3001.

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

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

 , , ,

Andrey_Karpov_2009
()

kcgi 0.9.0

Группа Open Source

Доступна новая версия kcgi — минимальной библиотеки CGI/FastCGI, написанной на C.

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

В новой версии добавлены функции для преобразования даты и времени из unix (epoch) time в формат HTTP и обратно, а также исправлены различные ошибки.

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

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

 , , , kcgi

cetjs2
()

Релиз компилятора SDCC 3.6.0

Группа Open Source

12 июня было объявлено о выходе новой стабильной версии Small Device C Compiler (компилятор языка C для встраиваемых устройств). Он поддерживает архитектуры 8051, DS390, Z80, Z180, Rabbit 2000, HC08, STM8 и PIC (работа в процессе). Основные изменения:

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

Доступны официальные бинарные сборки для всех основных платформ. Исходные коды и документация также доступны на официальном сайте.

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

 ,

ramon13666
()

dnsbalancer — демон балансировки UDP-трафика рекурсивного DNS

Группа Open Source

Компания Ланет Нетворк сделала общедоступным код демона для балансировки UDP-трафика рекурсивного DNS — dnsbalancer. Демон используется для распределения клиентских DNS-запросов между многочисленными рекурсивными DNS-серверами с целью балансировки нагрузки и повышения отказоустойчивости кластера рекурсивного DNS.

Возможности dnsbalancer'а:

  • поддержка IPv4 и IPv6;
  • поддержка множества фронтендов и бекендов одновременно;
  • слежение за доступностью бекендов, игнорирование недоступных бекендов;
  • работа в многопоточном режиме;
  • поддержка правил обработки DNS-запросов с использованием регулярных выражений и выполнением различных действий над клиентскими запросами;
  • ведение статистики по фронтендам, бекендам, типам запросов и задержкам ответов.

Демон способен обрабатывать десятки тысяч запросов в секунду на виртуальной машине с несколькими ядрами. Код демона работает только под управлением ядра Linux версии 3.9 и выше.

>>> Исходный код

 , , , ,

post-factum
()