gpt4 book ai didi

linux - Linux 中 unistd.h 和 sys/types.h 的区别

转载 作者:IT王子 更新时间:2023-10-29 00:48:03 54 4
gpt4 key购买 nike

当我在 The Open Group 中搜索 header unistd.h 时,我发现它包含标准符号常量和类型,而对于 sys/types.h,它表示数据类型。

然后我发现两者都有uid_t、pid_t和几个类似的类型。

我很困惑为什么他们会这样划分,他们之间有什么区别。我用谷歌搜索,但没有得到满意的答案。

如果有人能给我详细的解释,我将不胜感激。

谢谢。

最佳答案

POSIX 和 C 头文件在细粒度文件中的划分可能来自过去,编译可能需要很长时间,而添加不必要的头文件会使时间更长。

如果您只需要操作系统类型,比如说您的函数原型(prototype),那么只需 #include <sys/types.h> .但是,如果您需要函数定义,那么您 #include <unistd.h>或任何其他系统 header ,根据需要。

当然,有些类型在两个 header 中都有,因为您不能在没有必要类型的情况下声明某些函数。

但是这些相同类型的不同声明保证是相同的,所以如果你同时包含两者是没有问题的。

关于linux - Linux 中 unistd.h 和 sys/types.h 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29984328/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com