我从main()函数调用以下函数,也在其他创建的线程中调用。虽然它在创建的线程中工作正常,但它在main()中返回一个大的垃圾值。
long getTimeMilliSecs()
{
struct timeval tempTime;
gettimeofday(&tempTime, NULL);
long retVal = 1000000*tempTime.tv_sec + tempTime.tv_usec;
return retVal;
}
将Linux Ubuntu与gcc一起使用。有谁知道这种奇特行为的原因? 谢谢!
以这种方式使用它:
main()
{
:
emuTime = getTimeMilliSecs();
}
线程侧代码:
long time1 = getTimeMilliSecs();
printf("time1: %ld emuTime: %ld\n", time1, emuTime);
OUTPUT:
time1: 9006806 emuTime: 1380680868658357
以类似方式调用线程。
来自评论:已更新! emuTime
也是long
类型。