【发布时间】:2016-03-17 17:47:51
【问题描述】:
man 2 eventfd 说:
概要
#include <sys/eventfd.h> int eventfd(unsigned int initval, int flags);
但是在/usr/include/sys/eventfd.h 我看到了:
extern int eventfd (int __count, int __flags) __THROW;
我点击这个是因为我需要将eventfd 作为函数指针传递,并且当它具有手册页中描述的签名时我收到了警告。这个签名是不可移植的吗?我需要在我编写的代码中注意这一点吗?
【问题讨论】:
-
在你链接到它的 glibc 树中是
unsigned int __count -
请教 glibc 手册页的维护者。很可能,签名已更改,但没有人关心更新手册页。您甚至可以自己做出贡献并做出改变!
-
@IngoLeonhardt 哎呀,你说得对,我有一个脑死的时刻。查看历史显示他们在 2014 年对其进行了更改,这是对我的可移植性问题的回答。我已通过以下信息自行回答,但请随时用您自己的信息替换它,我会接受。
-
手册页是 [kernel.org/doc/man-pages/](Linux man-pages) 项目的一部分。它不是由与 glibc 相同的人维护的。 Git repo 中最新版本的
eventfd手册页仍然具有非当前声明。
标签: c linux system-calls manpage