当我搜索标题unistd.h时,在The Open Group中,我发现它包含标准的符号常量&对于数据类型,它表示类型和sys / types.h。
然后我发现它们都有uid_t,pid_t和几种类似的类型。
我很困惑为什么他们这样划分,他们之间有什么区别。我用Google搜索了,但我没有得到满意的答案。
如果有人能给我详细的解释,我将感激不尽。
谢谢。
答案 0 :(得分:8)
细粒度文件中POSIX和C头的划分可能来自于编译可能需要很长时间的旧时代,并且添加不必要的头文件会使时间更长。
如果您只需要操作系统类型,比如功能原型,那么只需要#include <sys/types.h>
。但是,如果您需要函数定义,则根据需要使用#include <unistd.h>
或任何其他系统标头。
当然,两个标题中都有类型,因为如果没有必要的类型,就无法声明某些函数。
但是这些相同类型的不同声明保证是相同的,所以如果同时包含这两种声明就没有问题。