在 Arduino C+ 中,我想在使用 32 位有符号time_t类型时避免 2038 年溢出问题,因此我想专门使用 Teensy 的Time.h(或 TimeLib.h ;我正在写Arduino 1.8.7 上 Teensy 3.5 的代码)。
但是IDE似乎忽略了Teensy的Time.h,其中time_t定义为:
typedef unsigned long time_t;
我发现无论我包含什么,我使用的 time_t 类型都编译为“long int”。这段代码表明:
time_t t = "ABC";
编译器将显示time_ t 实际上是在某个地方定义为long int:
invalid conversion from 'const char*' to 'time_t {aka long int}' [-fpermissive]
我什至尝试将 Teensy 的 Time 文件夹(https://github.com/PaulStoffregen/Time)复制到我的草图文件夹中,但这样做无济于事:
#include "Time\TimeLib.h"
如何确保我在 Arduino 中使用无符号的 32 位 time_t?当我调用now()时,我还想要返回 unsigned long time_t的 Teensy 的now(),而不是内置的 long int time_t
提前致谢!