32位gmtime在64位元机器上错误的解决

 
File:gmtime64.c
Line:63
Expression:(caltim <= _MAX_TIME64_T)

 

目前發現若是使用VS.Net 2005編譯Playback,並在64位元CPU上執行,

就會發生這個錯誤,若是使用VS.Net 2003則不會, 因此如果您是使用VS.Net 2005的話,
需要請您在Project Properties裡C/C++底下的Preprocessor Definitions加上
_USE_32BIT_TIME_T
即可解決這個錯誤。
 
 

localtime函数在vc++2005中的使用问题

分类: 计算机基础 342人阅读 评论(0) 收藏 举报

struct  tm  * ltime;
ltime  =  localtime((time_t *) & header -> ts.tv_sec);    // header->ts.tv_sec为long类型
// 编译通过后运行,出现错误expression( * ptime  <=  _MAX_TIME64_T),通过调试(time_t *)&header->ts.tv_se
   //c所指向的地址的内容为一个很大的负数,并不等于header->ts.tv_sec.所以问题出在类型强转上,只是我还 是搞不清楚为什么出现这个问题,后来的解决方案如下:
__int64 aa  =  header -> ts.tv_sec;
ltime  =  localtime( & aa);
//这样就正常了,本程序是在vc++2005环境下使用winpcap开发,在vc6,0中并不需要强转.
//ltime = localtime(&header->ts.tv_sec);

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值