c - 如何修复 'implicit declaration of function ' 管道 2' is invalid in C99'

标签 c c99

我正在尝试构建我的库,但 libevent 中名为 evutil.c 的文件给我带来了困难。

libevent/evutil.c:错误:函数“pipe2”的隐式声明在 C99 中无效

涉及的代码为:

    if (pipe2(fd, O_NONBLOCK|O_CLOEXEC) == 0)
        return 0;

我现在无法将代码更新到 c11。 我应该如何更改代码才能不再出现此错误?

最佳答案

这不是 C99 问题。您需要包含 pipe2 的 header 。 According to the pipe2 manual那是unistd.h

为什么 libevent 本身不这样做是一个有效的问题。

关于c - 如何修复 'implicit declaration of function ' 管道 2' is invalid in C99',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55385607/

相关文章:

c - 是否可以在 C 中使用事件总线?

C套接字编程,发送

c - 在 MacOSX 上使用 Tcl/Tk C API 时,为什么它会在环境中执行?

c - 在不使用 va_copy 的情况下将 va_list 传递给另一个函数是否安全?

c - 使用 C99 代码作为 Windows Phone 运行时组件(使用/ZW 编译)

c - 有没有办法检查是否在堆栈/堆上创建了可变长度数组?

c - execve '/bin/sleep'命令卡住

c++ - 我应该使用 C(99) boolean 值吗? (还有 C++ 中的 C++ boolean 值?)

c99 转到过去的初始化

c - C语言中&和&&的区别?