在 Visual Studio 2010 中遇到 C 中的计时问题

the*_*tna 1 c visual-studio-2010 compiler-warnings visual-studio

我有一个获取系统时间的功能。该函数定义如下。

  int getSystemTime(struct timeval tv, void * tz);{
  DWORD milliseconds;
  milliseconds = timeGetTime();
  tv->tv_sec = milliseconds / 1000;
  tv->tv_usec = (milliseconds % 1000) * 1000;
  return 0;
  }
Run Code Online (Sandbox Code Playgroud)

问题具体如下:

 1.error: identifier DWORD is undentified .
 2.error: identifier timeGetTime() is undefined.
 3.error: identifier suseconds_t is undefined. 
Run Code Online (Sandbox Code Playgroud)

我试图包括windef.h定义 DWORD 的位置。但问题是,我收到了如下错误:

 1. error: identifier PCONTEXT is undefined.
Run Code Online (Sandbox Code Playgroud)

包含时间的头文件是time.h. 这里定义的时间值是:

#ifndef _WINSOCK_H
struct timeval {
time_t tv_sec;
suseconds_t tv_usec;
};
Run Code Online (Sandbox Code Playgroud)

你能告诉我我该怎么做才能让这个功能在windows环境中运行?

[编辑]

 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif

#ifdef HAVE_WINDOWS_H
#include <windows.h>
#endif

#ifdef HAVE_MMSYSTEM_H
#include <mmsystem.h>
#endif

#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
Run Code Online (Sandbox Code Playgroud)

Mik*_*ola 5

您需要在 C 文件的顶部包含 windows.h。