函数:longlong__getmstime(){timevaltv;gettimeofday(&tv,NULL);returntv.tv_sec*1000+tv.tv_usec/1000;}表现:一直返回负数,应该是溢出了,但是longlong按理来说是不会溢出的,奇怪...
函数:
long long __getmstime()
{
timeval tv;
gettimeofday(&tv, NULL);
return tv.tv_sec * 1000 + tv.tv_usec / 1000;
}
表现:一直返回负数,应该是溢出了,但是long long按理来说是不会溢出的,奇怪。
都是负数,最后对第一个值进行强转才使得值是正确的:
long long __getmstime()
{
timeval tv;
gettimeofday(&tv, NULL);
return ((long long)tv.tv_sec) * 1000 + tv.tv_usec / 1000;
}
我知道了,你最后return后面是不是写错了?
你想去毫秒,timeval 的两个数,一个是秒,一个是微秒
所以应该是return tv.tv_sec /1000 + tv.tv_usec / 1000 / 1000;