我正在做一些嵌入式软件,它的time_t
是32位无符号整数。我有一个PC模拟器,其time_t
似乎是有符号的32位整数。有什么办法告诉Visual C使用uint32_t
?
问题尚不清楚。 “嵌入式软件”,“ PC模拟器”和“ Visual C”如何相互关联?如果嵌入式软件在PC模拟器上运行,则它们的time_
如何具有不同的符号?
或者您是说当前模拟器是使用MSVC构建的,并且已经对time_t
进行了签名,因此它无法运行嵌入式软件,并且您想通过MSVC对其进行重建以使用未签名的time_t
? MSVC仅支持32 and 64-bit signed time_t
,因此答案为否。如果time_t
是您平台上的32位类型(仅在非常老的MSVC版本或带有time_t
的较新的32位代码上发生)and该软件不会在_USE_32BIT_TIME_T
之外运行有必要的。否则,您需要使用VS2015 +进行重建以使用64位year 2038,并在传递给模拟器时编写一个小的包装程序以转换值
time_t