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