又要麻烦大家了...不会的内容是在太多了。问题是:
我有一个函数,比如Fun,有三个参数x,y,z,且这个函数创建了一个子线程
void Fun(int x,int y,int z)
{
HANDLE handle=(HANDLE)_beginthreadex(NULL,0,ThreadFun,NULL,0,NULL);
CloseHandle(handle);
}
现在子线程中要用到参数x,y,z
unsigned int _stdcall ThreadFun1(PVOID pm)
{
//要用到x,y,z,比如
x=x+1;
y=y+1;
z=z+1;
return 0;
}
请问,参数该怎样传递呢?
附注说明一下:主函数中参数必须是分开的,调用时必须是Fun(1,2,3);不要结构体的那种。
我有一个函数,比如Fun,有三个参数x,y,z,且这个函数创建了一个子线程
void Fun(int x,int y,int z)
{
HANDLE handle=(HANDLE)_beginthreadex(NULL,0,ThreadFun,NULL,0,NULL);
CloseHandle(handle);
}
现在子线程中要用到参数x,y,z
unsigned int _stdcall ThreadFun1(PVOID pm)
{
//要用到x,y,z,比如
x=x+1;
y=y+1;
z=z+1;
return 0;
}
请问,参数该怎样传递呢?
附注说明一下:主函数中参数必须是分开的,调用时必须是Fun(1,2,3);不要结构体的那种。
{
int x;
int y;
int z;
}parambuf;
void Fun(int x,int y,int z)
{
parambuf.x = x;
parambuf.y = y;
parambuf.z = z;
HANDLE handle=(HANDLE)_beginthreadex(NULL,0,ThreadFun,¶mbuf,0,NULL);
CloseHandle(handle);
}unsigned int _stdcall ThreadFun1(PVOID pm)
{
parambuf *pParam = (parambuf*)pm;
pParam->x;
pParam->y;
pParam->x;
return 0;
}