C 定义来源是什么意思?

C 定义来源是什么意思?,c,macros,posix,C,Macros,Posix,在C语言中使用#定义_POSIX_SOURCE对我的程序有什么好处?我可以在我的程序中访问更多的库,或者我可以调用一些直接在C中出现的函数。这个宏用于什么?它允许您使用不属于标准C库的函数,但属于POSIX.1(IEEE标准1003.1)标准的函数。使用中描述的宏 允许您控制公开的定义 通过系统头文件 据我所知,\u POSIX\u SOURCE已经过时,您应该改用\u POSIX\u C\u SOURCE 例如,如果你想使用,你必须使用 #define _POSIX_C_SOURCE 2008

在C语言中使用
#定义_POSIX_SOURCE
对我的程序有什么好处?我可以在我的程序中访问更多的库,或者我可以调用一些直接在C中出现的函数。这个宏用于什么?

它允许您使用不属于标准C库的函数,但属于POSIX.1(IEEE标准1003.1)标准的函数。使用中描述的宏 允许您控制公开的定义 通过系统头文件

据我所知,
\u POSIX\u SOURCE
已经过时,您应该改用
\u POSIX\u C\u SOURCE

例如,如果你想使用,你必须使用

#define _POSIX_C_SOURCE 200809L
另见


相关:如果您使用GCC在Linux上工作,那么默认情况下它在
-std=gnu11
-std=gnu90
模式下工作,并且POSIX(和一些其他)符号集是可见的,而无需设置
\u XOPEN\u SOURCE
\u POSIX\u C\u SOURCE
或其他类似的宏。如果使用
-std=c11
-std=c99
或(消灭思想)
-std=c90
,则POSIX和GNU符号默认不可用;必须定义
\u XOPEN\u SOURCE
\u POSIX\u C\u SOURCE
才能查看POSIX符号。