Как предотвратить (если возможно) аварию на машинах "sizeof (time_t) == 4" (например, встроенных) в 2038 году? - PullRequest
0 голосов
/ 31 января 2020

Есть некоторые (закрытые!) Разговоры об этом в Stackoverflow.

Некоторые из них советуют "Использовать std :: chrono".

std :: chrono, насколько я знаю , не может быть решением, потому что std :: chrono :: system_clock по-прежнему полагается на std :: time_t. Я должен использовать «to_time_t», и результат (цитируемый cppreference.com) «Если std :: time_t имеет более низкую точность, это определяется реализацией, является ли значение округленным или усеченным».

Так что я не может использовать std :: chrono. И (вероятно) не может использовать clock_gettime (). Что-нибудь, что я могу использовать? Для получения «который сейчас», хранения и извлечения некоторых временных меток, предпочтительно в компактном формате, в 32-битной среде. В настоящее время у нас есть (встроенные) 32-разрядные процессоры, и, вероятно, они останутся (по крайней мере, в нынешнем оборудовании).

Приближаясь к 2038 году, все 32-разрядные (встроенные) процессоры перейдут на 64-разрядные? В самом деле? Могу ли я спокойно ожидать этого?

...