从Linux到Visual Studio 2008的移植时间API
问题描述:
我有一个移植到Microsoft Visual Studio 2008的应用程序,它可以在Linux上构建和运行。从Linux到Visual Studio 2008的移植时间API
我有时间程序麻烦,我的Linux代码如下所示:
#include <sys/types.h>
#include <sys/time.h>
typedef long long Usec;
inline Usec timevalToUsec(const timeval &tv)
{
return (((Usec) tv.tv_sec) * 1000000) + ((Usec) tv.tv_usec);
}
但是,编译器对sys/time.h
头文件失败:如果我改变包括对
fatal error C1083: Cannot open include file:
'sys/time.h': No such file or directory
只是time.h
我得到一个不同的错误timeval未定义:
error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int
这是由于timeval
未被定义。
是包括time.h
代替sys/time.h
正确的,如果是这样,我在哪里得到在Microsoft Visual Studio 2008中的struct timeval
定义是什么?
答
它存在,只是不在“sys/time.h”中。有趣的是,Timeval在Winsock2.h中。