下面这段程序为什么会编译出错啊?
#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;}
#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;}
解决方案 »
- 数据导入EXCEL中有半角逗号如何解决
- ECCV图像语义库如何使用?
- 求通讯录管理系统的源代码
- 为何创建的listctrl控件的列标题不能点击呢?
- 各位大虾 :在OnIninDialog 后最先调用那个函数 谢谢!!
- 请教关于ON_COMMAND_RANGE,ON_COMMAND_EX_RANGE映射宏的使用
- 在线等待!!!!
- 我的win2000server在域中,被以域中Administrator进入,结果我的机子以域用户进入后,机子的系统关机选项变为不可用,以域中Administrato
- 请帮忙,在VEIW类中用的资源怎么在FRAME中也可利用
- 菜鸟向大家问好
- 求助!请VC高手指路!!
- char * 有char[]什么区别?两者可不可以互换?
#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;}出错提示如下:
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.