5.12 C和Posix变量

以下宏使使用C语言和库成为可能C标准委员会定义的扩展,Posix的特性是C的扩展,以及Posix未定义的平台扩展。

宏:AC_USE_系统_扩展

如果可能,请在正常情况下禁用扩展,通常是由于标准一致性命名空间问题。这应该在运行C的任何宏之前调用编译器。此外,当使用此宏与AC_配置_标题,请确保配置。小时包括在内在任何系统标题之前。

以下预处理器宏是无条件定义的:

_全部_来源

在AIX 3和Interix上启用扩展。

_达尔文_C_来源

在macOS上启用扩展。

_GNU_来源

在GNU系统上启用扩展。

_网络BSD_SOURCE

在NetBSD上启用常规扩展。在Minix上启用NetBSD兼容性扩展。

_打开bsd_SOURCE

在NetBSD上启用OpenBSD兼容性扩展。奇怪的是,这对OpenBSD没有任何作用。

_POSIX_PTHREAD_SEMANTICS公司

在Solaris上启用与Posix兼容的线程。

__STDC_WANT_IEC_60559_ATTRIBS_EXT公司__

启用ISO/IEC TS 18661-5:2014规定的扩展。

__STDC_WANT_IEC_60559_BFP_EXT__

启用ISO/IEC TS 18661-1:2014规定的扩展。

__STDC_WANT_IEC_60559_DFP_EXT__

启用ISO/IEC TS 18661-2:2015规定的扩展。

__STDC_WANT_IEC_60559_EXT标准__

启用C23附录F规定的扩展。

__STDC_WANT_IEC_60559_FUNCS_EXT公司__

启用ISO/IEC TS 18661-4:2015规定的扩展。

__STDC_WANT_IEC_60559_类型_EXT__

启用C23附录H和ISO/IEC TS 18661-3:2015规定的扩展。

__STDC_天线_LIB_EXT2__

启用ISO/IEC TR 24731-2:2010规定的扩展。

__STDC_WANT_MATH_SPEC_FUNCS公司__

启用ISO/IEC 24747:2009规定的扩展。

_串联_源

在HP NonStop系统上启用扩展。

以下预处理器宏仅在必要时定义;它们允许访问某些操作系统上的扩展,但使残废其他操作系统上的扩展。

__扩展__

在Solaris上启用常规扩展。仅当包含的标题AC_INCLUDES_DEFAULT公司(请参见默认包括)正确使用定义的。

_迷你
_POSIX_来源
_POSIX_1_来源

仅在MINIX上定义。_POSIX_来源_POSIX_1_来源需要在该操作系统上启用许多POSIX功能。_迷你不影响系统标头的行为;Autoconf的未来版本可能会停止定义它。需要识别Minix的程序应使用空调_空调_主机.

_XOPEN_源

仅在需要时定义(值为500)瓦查尔。小时声明mb状态_。这在某些版本的HP/UX上是必需的。

C预处理器宏__STDC_WANT_DEC_FP公司__未定义。ISO/IEC TR 24732:2009被ISO/IEC TS 18661-2:2015取代。

C预处理器宏__STDC_WANT_LIB_EXT1号机组__未定义,因为C标准的附录K存在问题。参见:O’Donell C,Sebor M。字段附件K边界检查接口的经验.

Autoconf宏AC_USE_系统_扩展于引入自动控制2.60。