我刚刚注意到这一行格特鲁萨奇手册页:
包括<sys/time.h>
如今不再需要,但增加了可移植性。 (事实上,struct timeval 是在<sys/time.h>
)
什么?自从struct rusage
包含struct timeval
作为成员,sys/resource.h 肯定必须包含 sys/time.h,否则类型将不完整且无法使用?
这个评论怎么可能有意义呢?怎么可能没有必要呢?可移植性如何得到帮助?
一般来说,在 C 的早期,您必须在头文件 B 之前手动包含头文件 A 的情况并不少见。也许早期版本的预处理器无法执行嵌套包含,或者可能只是风格上的问题(联机帮助页)通常会直接包含相关结构的头文件)。
“现在”,sys/resource.h 必须包含 sys/time.h 或重复 struct timeval 的定义,但并非每个系统都完全遵循标准。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)