gpt4 book ai didi

linux - 添加 header 如何提高可移植性? (系统/时间.h)

转载 作者:太空狗 更新时间:2023-10-29 11:47:01 24 4
gpt4 key购买 nike

我刚刚注意到 getrusage 中的这一行手册页:

Including <sys/time.h> is not required these days, but increases portability. (Indeed, struct timeval is defined in <sys/time.h>)

什么?自 struct rusage包含 struct timeval作为成员,sys/resource.h 肯定必须包含 sys/time.h 否则类型不完整且无法使用?

这个评论怎么可能有意义?怎么可能没有必要呢?可移植性如何得到帮助?

最佳答案

一般来说,在 C 的早期,您必须在头文件 B 之前手动包含头文件 A 并不少见。也许早期版本的预处理器无法执行嵌套包含,或者可能只是文体(联机帮助页通常会直接包含相关结构的头文件)。

“这些天”,sys/resource.h 必须包含 sys/time.h 或重复 struct timeval 的定义,但并非每个系统都完全遵循标准。

关于linux - 添加 header 如何提高可移植性? (系统/时间.h),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7889678/

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