Утверждён стандарт POSIX 1003.1-2024

После семи лет разработки профессиональное общество института инженеров электротехники и электроники (IEEE Computer Society) и консорциум Open Group утвердили новую версию стандарта POSIX 1003.1-2024, нацеленного на обеспечение переносимости программ между UNIX-подобными системами. Стандарт определяет программные интерфейсы между операционными системами и прикладными программами, и охватывает набор библиотечных функций, возможностей командного интерпретатора и утилит.

Текст стандарта пока доступен только в формате PDF для платных клиентов, образовательных учреждений и пользователей, имеющих учётную запись на сайте IEEE. В ближайшее время текст стандарта будет опубликован публично на сайте Open Group (пока публично доступна только прошлая редакция POSIX 1003.1-2017, вышедшая в 2017 году).

Из изменений в POSIX 1003.1-2024, помимо исправления ошибок, можно отметить реализацию в shell сток $’…’, добавление утилит readlink и realpath, появление в утилите find опций «-print0» и «-iname», добавление в xargs опции «-0» (использование нулевого символа в качестве разделителя, например, формируемого через find -print0), в read — опции «-d» (разделитель), в sed опции «-E» (расширенные регулярные выражения), в set — опции «-o pipefail».

Для программ на языке Си добавлена поддержка константы SIGWINCH, средств для создания разделяемых объектов, функций tcgetwinsize (определение размера окна терминала), gettext (организация многоязычных интерфейсов), asprintf (форматирует строку и выделяет буфер с учётом размера вывода), strlcpy и strlcat (аналоги strncpy и strncat, содержащие защиту от переполнения буфера и выставляющие замыкающий строку нулевой байт). В утилите make появилась поддержка вложенных макросов, разрешено указание нескольких файлов в директиве include, добавлены новые цели .NOTPARALLEL, .PHONY и .WAIT, добавлен макрос CURDIR, указывающий на текущий каталог, добавлены операторы назначения макросов и переменных «::=», «:::=», «+=», «?=» и «!=».

Источник: opennet.ru