首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >_GNU_SOURCE和__USE_GNU

_GNU_SOURCE和__USE_GNU
EN

Stack Overflow用户
提问于 2011-09-04 09:54:24
回答 2查看 19.4K关注 0票数 33

我想使用CPU_SET,这是一个特定于glibc linux的宏,应该在sched.h中定义。手册页清楚地指出,必须定义_GNU_SOURCE,这样才能定义宏。但是,查看报头,只有在定义了__USE_GNU的情况下才定义CPU_SET (有一个#ifdef保护)。我似乎记得几年前需要_GNU_SOURCE

问题:

1)显然手册页已关闭。如何通知维护人员手册页不正确?

2)从_GNU_SOURCE__USE_GNU的转换是什么时候发生的(无论是版本还是时间)

3)是否存在较新版本的glibc仍然使用_GNU_SOURCE的情况?或者,我可以放心地假设定义__USE_GNU就足够了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-04 10:11:11

_GNU_SOURCE是唯一一个你应该定义自己的东西。__USE_GNU是在定义_GNU_SOURCE时通过features.h中的一种机制(包含在所有其他glibc头中)在内部定义的,可能在其他情况下也是如此。自己定义或取消定义__USE_GNU将严重破坏glibc头文件。

票数 44
EN

Stack Overflow用户

发布于 2012-07-21 18:30:46

你必须在任何事情之前使用define_GNU_SOURCE。下面的代码片段可以在这里运行:

代码语言:javascript
复制
#define _GNU_SOURCE
#include <sched.h>


int main()
{
    cpu_set_t set;
    CPU_SET(0, &set);
    return 0;
}
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7296963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档