• 请不要在回答技术问题时复制粘贴 AI 生成的内容
DinoStray
V2EX  ›  程序员

2023 年, 操作系统的 time_t 类型 就溢出了, 目前有对此做什么么?

  •  
  •   DinoStray · Feb 6, 2021 · 4655 views
    This topic created in 1964 days ago, the information mentioned may be changed or developed.
    21 replies    2021-02-07 15:55:14 +08:00
    mcoo1997
        1
    mcoo1997  
       Feb 6, 2021 via Android
    尽量不要过到 2023 年
    pursuer
        2
    pursuer  
       Feb 6, 2021
    是 2038 年 1 月吧
    ho121
        3
    ho121  
       Feb 6, 2021 via Android
    大部分系统应该切换到 64 位了吧
    DinoStray
        4
    DinoStray  
    OP
       Feb 6, 2021
    @pursuer 对, 我打错了
    whenov
        5
    whenov  
       Feb 6, 2021 via iPhone
    使用 time_t 的话已经与具体实现解耦了,只要及时更新操作系统和编译器应该不会有大问题
    Jirajine
        6
    Jirajine  
       Feb 6, 2021 via Android
    到那个时候估计现在的主流操作系统都更新换代了。
    elfive
        7
    elfive  
       Feb 6, 2021 via iPhone
    基本上除了少数用到了类似于 printf 函数(主要是%d,%ld 这些),以及一些强制转字节流等操作的以外(可能涉及到序列化存取),几乎都只需要重新用 64 位编译器编译一下就能解决……
    mepwang
        8
    mepwang  
       Feb 6, 2021 via iPhone
    @ho121 切 64 位不影响已有系统吧,并且一般 64 位 c 语言只有 long long 整数和指针,还有明确指定是 64 位的数据类型,是 64 位的
    BrettD
        9
    BrettD  
       Feb 6, 2021 via iPhone
    @ho121 问题在于虽然系统是 64 位,为了兼容旧程序,time_t 还是 32 位整数
    ho121
        10
    ho121  
       Feb 6, 2021 via Android
    @BrettD 记得 64 位编译出来的 sizeof time_t 是 8
    wty
        11
    wty  
       Feb 6, 2021 via Android
    c 库已经换成 64 位了,写 time_t 默认 64 位。time 函数什么的都会被重新定义到 64 位版本上去。新编译的程序应该大多没啥问题
    learningman
        12
    learningman  
       Feb 6, 2021
    time_t 本来就是个宏,重新指定到 int_64 呗
    nightwitch
        13
    nightwitch  
       Feb 6, 2021
    systemcall
        14
    systemcall  
       Feb 6, 2021   ❤️ 1
    得看谭浩强和廖雪峰打不打算拯救众生
    BrettD
        15
    BrettD  
       Feb 6, 2021
    @ho121 哦好吧我记忆过时了,我记得几年前看到帖子说为了维持 ABI 兼容性导致 time_t 仍然 32 位。
    alazysun
        16
    alazysun  
       Feb 6, 2021
    那时候 32 位也应该取缔了把
    fiveelementgid
        17
    fiveelementgid  
       Feb 7, 2021 via Android
    32 位已经退役了吧
    jzmws
        18
    jzmws  
       Feb 7, 2021
    这个和 MySQL timestamp 是一样的把?
    laucenmi
        19
    laucenmi  
       Feb 7, 2021
    还有好多设备是 32 位的...
    momo1999
        20
    momo1999  
       Feb 7, 2021
    typedef __time64_t time_t;
    iawes
        21
    iawes  
       Feb 7, 2021
    之前毁灭地球就行了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3676 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 04:31 · PVG 12:31 · LAX 21:31 · JFK 00:31
    ♥ Do have faith in what you're doing.