В Arduino C + я хотел избежать проблемы переполнения в 2038 году при использовании 32-битного типа time_t со знаком, поэтому я бы хотел специально использовать Time.h от Teensy (или TimeLib.h в этом отношении; я пишу код для Teensy 3.5 на Arduino 1.8.7).
Но IDE, похоже, игнорирует Teensy's 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's Time (https://github.com/PaulStoffregen/Time) в мою папку с эскизами, но безрезультатно:
#include "Time\TimeLib.h"
Как убедиться, что я использую 32-разрядную без знакаtime_t в Arduino? Также я хочу, чтобы при вызове now () это Teensy's now () , который возвращает unsigned long time_t , а не встроенный long int time_t
Заранее спасибо!