Утверждён стандарт 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, указывающий на текущий каталог, добавлены операторы назначения макросов и переменных »::=»,»:::=»,»+=»,»?=» и »!=».
Источник: http://www.opennet.ru/opennews/art.shtml? num=61372
© OpenNet