一尘不染

最终typedef的time_t是什么?

linux

我在Linux机器上搜索,看到了这个typedef:

typedef __time_t time_t;

但是我找不到__time_t 定义。


阅读 504

收藏
2020-06-02

共1个答案

一尘不染

维基百科time_t文章对此有所启发。底线是time_tC规范中不能保证的类型。

time_t数据类型是用于存储系统时间值所定义的ISO C库中的数据类型。这些值从标准time()
库函数返回。此类型是标准标头中定义的typedef。 ISO C将time_t定义为算术类型,但未指定任何特定类型
,范围,分辨率或编码。还没有指定应用于时间值的算术运算的含义。

兼容Unix和POSIX的系统将time_t类型实现为signed integer(通常为32或64位宽),表示自Unix纪元开始以来的秒数:1970年1月1日午夜UTC(不计算counting秒)。一些系统正确处理负时间值,而其他系统则不能。使用32位time_t类型的系统容易受到2038年问题的影响

2020-06-02