Запрос расширений GNU, но в противном случае POSIX-совместимые функции?

Есть ли способ с помощью макросов тестирования функций, чтобы glibc предоставлял расширения GNU (функции, не указанные в POSIX, и дополнительные макросы флагов / аргументов для стандартных функций, такие как MAP_ANONYMOUS), но все же предпочитаете семантику POSIX всякий раз, когда определения POSIX и GNU конфликтуют? Я думаю, что такие вещи, как basename, strerror_r, так далее.

1 ответ

Решение

Для конкретного случая basename(), в том числе <libgen.h> заголовок дает вам определение XPG / POSIX.

MAP_ANONYMOUS не является расширением GNU (_GNU_SOURCE), это определено, если либо _BSD_SOURCE или же _SVID_SOURCE определено.

Другие вопросы по тегам