- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
没有它我无法使用连接到互联网所需的库,但我不知道它意味着什么:
-D_POSIX_C_SOURCE=200112L
谁能解释一下?
最佳答案
随着时间的推移,POSIX 经历了多次修订。每个新修订版都更改了它支持的功能集。
此宏定义了您希望构建程序时使用的一组功能。它会影响包含文件的预处理方式,从而产生不同的函数原型(prototype)。例如,某些库会在编译时检查 POSIX_C_SOURCE 级别以确定是否可以使用线程。库可以使用这个定义来确定某些 POSIX 函数是否可用,或者它们是否必须提供自己的实现。
根据维基百科 (https://en.wikipedia.org/wiki/POSIX),POSIX 2001 等同于单一 UNIX 规范版本 3。也许您在原始帖子中提到的版本是第一个定义您需要的网络功能的版本。像 listen() 和 bind() 这样的函数在这个标准中明确指定,而粗略的搜索并没有发现在以前的 POSIX 版本中对它们有任何提及。
如果未指定 POSIX_C_SOURCE,您链接到的库将对可用功能集做出一些假设,或者可能会提示它未定义并放弃。也许您可能正在链接一个需要正确设置此变量的库?
关于c - 标志 "-D_POSIX_C_SOURCE=200112L"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18948661/
我正在做一个作业,其中指出:“给出的骨架代码使用getopt。如果使用-std=c99编译代码,将会编译错误。要修复该错误,请在编译代码时包含 -D_POSIX_C_SOURCE=200809。” 我
没有它我无法使用连接到互联网所需的库,但我不知道它意味着什么: -D_POSIX_C_SOURCE=200112L 谁能解释一下? 最佳答案 随着时间的推移,POSIX 经历了多次修订。每个新修订版都
我是一名优秀的程序员,十分优秀!