为什么会编译出错?
下面这段程序为什么会编译出错啊?
#define WIN32_LEAN_AND_MEAN
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>
//#include "MtVerify.h"
//#include <assert.h>
//DWORD ThreadFunc(LPVOID);
DWORD WINAPI ThreadFunc(LPVOID n)
{
int i;
int inside=0;
double val;
srand((unsigned)time(NULL));
for(i=0;i<1000000;i++)
{
double x=(double)(rand())/RAND_MAX;
double y=(double)(rand())/RAND_MAX;
if((x*x+y*y)<=1.0)
inside++;
}
val=(double)inside / i ;
printf("PI=%.4g\n",val*4);
return 0;
}
int main(void)
{
HANDLE hThrd;
DWORD exitcode=0;
DWORD threadId;
DWORD begin;
DWORD elapsed;
puts("Timing normal function call...");
begin=GetTickCount();
ThreadFunc(0);
elapsed=GetTickCount()-begin;
printf("function call took: %d.%.03d seconds\n\n",
elapsed/1000,elapsed%1000);
puts("Time thread+ busy loop...");
begin=GetTickCount();
hThrd=CreateThread(NULL,0,ThreadFunc,(LPVOID)1,0,&threadId);
for(;;)
{
GetExitCodeThread(hThrd,&exitcode);
if(exitcode!=STILL_ACTIVE)
break;
//this chews up lots of cpu times
}
elapsed=GetTickCount()-begin;
printf("Thread + busy loop took: %d.%.03d seconds\n",
elapsed/1000,elapsed%1000);
CloseHandle(hThrd);
return EXIT_SUCCESS;
}