System V

BSD SOURCE Функции BSD могут конфликтовать с другими функциями, и эти конфликты всегда разрешаются в пользу поведения, соответствующего стандарту System V, или, если определен или подразумевается любой макрос функций POSIX, Х/Open или System V, единственным макросом, который включает поведение BSD является ISOC99 SOURCE. (Точное определение этого макроса временами изменялось и может меняться в дальнейшем, поскольку он не регламентируется какимлибо стандартом.)

GNU SOURCE В случаях конфликта _GNU_SOURCE включает все, что возмож но, отдавая предпочтение интерфейсам System V, а не BSD. Этот макрос также добавляет некоторые специальные для GNU и Linux интерфейсы, например, владение файлами.

Когда стандартного набора макросов недостаточно, обычно определяют макрос GNU SOURCE (включает все — самое простое решение), _XOPEN_SOURCE600 (наиболее вероятно, что пригодится поднабор GNU SOURCE) или ISOC99 SOURCE (использование функций наиболее позднего стандарта С, поднабор _XOPEN_SOURCE6QO).

62 Интерфейсы POSIX 621 Обязательные типы POSIX POSIX описывает некоторые определения типов в заголовочном файле , которые используются для многих аргументов и возвращаемых значений. Эти определения типов важны, потому что стандартные типы языка С могут быть разными на различных машинах, так как они нестрого определены в стандарте С. Изза такого нестрогого определения язык С полезен на широком диапазоне оборудования — размер слов на 16разрядных машинах отличается от такового на 64разрядных машинах, а язык программирования низкого уровня не должен скрывать эту разницу — но для POSIX требуется большая гарантия. От заголовочного файла библиотеки С требуется определение набора соответствующих типов для каждой машины, которая поддерживает POSIX. Каждый из этих определений типов можно легко отличить от собственного типа С, поскольку он заканчивается на t.


Ведете ли вы блог?

Да
Нет
Планирую


Результаты опроса

Новостной блок