在 32 位嵌入式 Linux (ARMLinux) 的 C 代码中处理时间的正确方法是什么,以确保代码在 2038 年 1 月 19 日 03:14:07 UTC 之后继续正常工作(当有符号的 32 位time_t
溢出时)?鉴于time_t
在我必须使用的系统上是 32 位签名的,有哪些替代方案?
大量的谷歌搜索没有发现任何实际用途。每个人似乎都认为到那时我们都将使用 64 位操作系统,但这显然不适用于嵌入式系统。
在我需要使用的系统上,__kernel_time_t
定义为long
. 这大概意味着 64 位时间没有内核设施。uClibc 的版本是 0.9.29。
我不敢相信我是唯一一个有这个问题的人,我不想重新发明轮子。