在阿尔卑斯Linux上构建我的项目(使用MUSL libc),从编译器收到错误:<sys/unistd.h>未找到;MUSL libc没有<sys/unistd.h>.我将INCLUDE行更改为#INCLUDE<unistd.h>,它编译成功(仍然有一些特性不起作用).我对<unistd.h&>和<sys/unistd.h>之间的区别很好奇,但在Google上找不到任何答案;有一个关于不同unistd.h的堆栈溢出问题,但所有答案都没有提到任何关于unistd.h的问题.h

推荐答案

unistd.h文件在POSIX系统(Linux、UNIX、MacOS等)上很常见.并包含在这些系统中使用的函数和宏的声明.

sys/unistd.h很可能是旧系统的残留物.在CentOS上,这个文件只包含#include <unistd.h>.它不存在于基于阿尔卑斯或Debian的系统上.

C++相关问答推荐

在x86汇编中,为什么当分子来自RDRAND时DIV会引发异常?

librsvg rsvg_handle_get_dimensions获取像素大小与浏览器中的渲染大小没有不同

为什么GCC可以调用未定义的函数?

将fget()与strcMP()一起使用不是正确的比较

我可以在C中声明不同长度数组的数组而不带变量名吗?

C lang:当我try 将3个或更多元素写入数组时,出现总线错误

如何在C中引发/处理自定义信号?

如果dim指定数组中的数据量,使用dim-1会不会潜在地导致丢失一个元素?

预先分配虚拟地址空间的区域

struct -未知大小

使用错误的命令执行程序

在基本OpenGL纹理四边形中的一个三角形中进行渲染

如何用C语言为CLI应用程序编写按键检测系统?

为什么编译器不能简单地将数据从EDI转移到EAX?

为什么GCC-O1优化破解了这个代码,为了一个GameBoy高级只读存储器而修改了VRAM的循环?

I';我试着从.txt文件中读取文本,并用c计算其中的单词数量

既然我们在 if 中将 int 的值更改为 10,为什么在第二个 fork 后,子进程及其创建的子进程都会打印 33 ?

C/C++编译器可以在编译过程中通过按引用传递来优化按值传递吗?

malloc 属性不带参数

创建 makefile 来编译位于不同目录中的多个源文件