求高手请教~!!
答案:4 悬赏:80 手机版
解决时间 2021-04-07 22:12
- 提问者网友:咪咪
- 2021-04-07 02:55
求高手请教~!!
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-04-07 03:35
提示,少了头文件 MtVerify.h 。缺少了文件,你找找拷贝到test4.cpp所在的文件夹。
我猜mtVerify.h只是有MTVERIFY这个宏的定义,应该是这样的。
#define MTVERIFY(x) if(!(x)) return EXIT_FAILURE;
同时发现代码中NUM_TASKS应该是NUMBER_TASKS 。我整理了一下可以运行,我去掉了mtverify.h文件
#define WIN32_LEAN_AND_MEAN
#include
#include
#include
DWORD WINAPI ThreadFunc(LPVOID);
#define THREAD_POOL_SIZE 3
#define THREAD_MAX_INDEX THREAD_POOL_SIZE-1
#define NUMBER_TASKS 6
#define MTVERIFY(x) if(!(x)) return EXIT_FAILURE;
int main(){
HANDLE hThrds[THREAD_POOL_SIZE];
int slot=0;
DWORD threadId;
int i;
DWORD rc;
for(i=1;i<=NUMBER_TASKS;i++)
{
if(i>THREAD_POOL_SIZE)
{
rc=WaitForMultipleObjects(
THREAD_POOL_SIZE,
hThrds,
FALSE,
INFINITE);
slot=rc-WAIT_OBJECT_0;
MTVERIFY(slot>=0&&slot
我猜mtVerify.h只是有MTVERIFY这个宏的定义,应该是这样的。
#define MTVERIFY(x) if(!(x)) return EXIT_FAILURE;
同时发现代码中NUM_TASKS应该是NUMBER_TASKS 。我整理了一下可以运行,我去掉了mtverify.h文件
#define WIN32_LEAN_AND_MEAN
#include
#include
#include
DWORD WINAPI ThreadFunc(LPVOID);
#define THREAD_POOL_SIZE 3
#define THREAD_MAX_INDEX THREAD_POOL_SIZE-1
#define NUMBER_TASKS 6
#define MTVERIFY(x) if(!(x)) return EXIT_FAILURE;
int main(){
HANDLE hThrds[THREAD_POOL_SIZE];
int slot=0;
DWORD threadId;
int i;
DWORD rc;
for(i=1;i<=NUMBER_TASKS;i++)
{
if(i>THREAD_POOL_SIZE)
{
rc=WaitForMultipleObjects(
THREAD_POOL_SIZE,
hThrds,
FALSE,
INFINITE);
slot=rc-WAIT_OBJECT_0;
MTVERIFY(slot>=0&&slot
printf("Slot %d terminated
",slot);MTVERIFY(CloseHandle(hThrds[slot]));
}
MTVERIFY(hThrds[slot++]=CreateThread(NULL,
0,
ThreadFunc,
(LPVOID)slot,
0,
&threadId)
);
printf("Launched thread #%d(slot %d)
",i,slot);}
rc=WaitForMultipleObjects(
THREAD_POOL_SIZE,
hThrds,
TRUE,
INFINITE);
MTVERIFY(rc>=WAIT_OBJECT_0&&rc
printf("All slots terminated
");
return EXIT_SUCCESS;
}
DWORD WINAPI ThreadFunc(LPVOID n)
{
srand(GetTickCount());
Sleep((rand()%10)*800+500);
printf("Slot %d idle
",n);return ((DWORD)n);
}
全部回答
- 1楼网友:笑迎怀羞
- 2021-04-07 05:28
包含文件路径不对, 在工程选中此文件的文件属性更改路径
- 2楼网友:梦中风几里
- 2021-04-07 05:18
没有头文件,cp到你的程序文件夹下就好了
- 3楼网友:等灯
- 2021-04-07 05:02
"MtVerify.h" 这个文件是自定义的头文件,程序编译的时候,你所在的目录下,找不到这么文件;
解决的办法,只能找到这个 "MtVerify.h" 文件,拷贝到你的程序目录下。
解决的办法,只能找到这个 "MtVerify.h" 文件,拷贝到你的程序目录下。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯