DWORD WINAPI MyThread1这个东西的参数到底是什么呀,我见过LPVOID lpParameter还有void * p!
2个回答
展开全部
DWORD WINAPI MyThread1 (LPVOID lpParam)
{
somestruct* pN = (somestruct*)lpParam; // 将参数转为你的类型
pN->m_number;//这里就是利用你传进来的指针进行一个类型转换,然后用这个指针做一些你想要的事
...
return 0;
}
就是说 你传进来一个指针给这个函数 但是呢这个指针是空类型的 因为空类型的指针可以给任何类型的指针赋值 所以要进行一个强制类型转换 就像上面写的一样 然后你就可以进行操作了
顺便说一下LPVOID这个是一个宏定义 表示的是指向空类型的指针
至于你说的参数是什么意思 那就看你要传什么指针进来了
望采纳哦
{
somestruct* pN = (somestruct*)lpParam; // 将参数转为你的类型
pN->m_number;//这里就是利用你传进来的指针进行一个类型转换,然后用这个指针做一些你想要的事
...
return 0;
}
就是说 你传进来一个指针给这个函数 但是呢这个指针是空类型的 因为空类型的指针可以给任何类型的指针赋值 所以要进行一个强制类型转换 就像上面写的一样 然后你就可以进行操作了
顺便说一下LPVOID这个是一个宏定义 表示的是指向空类型的指针
至于你说的参数是什么意思 那就看你要传什么指针进来了
望采纳哦
追问
这个指针的内容怎么穿进去呀?我看创建指针handle=CreateThread(NULL,0,myThread,NULL,0,&dw);没有机会传进去呀?
追答
先来看看这个函数的参数吧:
handle=CreateThread(
NULL, // 没有安全描述符
0, // 默认线程栈的大小
MyThread, // 线程函数指针
(LPVOID)&n, // 这里就是你要传进MyThread函数的参数n
NULL, // 没有附加属性
NULL // 不需要获得线程id
);
第三个参数就是你声明的那个线程函数指针,然后给这个线程函数传参(createthread函数的第四个参数)&n,所以 现在你的这个函数DWORD WINAPI MyThread1 (LPVOID lpParam)就有了一个参数n
懂了吗?
骏磬国际贸易
2024-11-13 广告
2024-11-13 广告
电商平台ACTOWA电商平台 550是我司引进的一款高性能热熔胶。该产品具有出色的粘接力、耐热性和耐化学性,广泛应用于汽车制造、电子组装、包装及制鞋等多个行业。其独特的配方确保了快速固化与优良的初粘性,极大地提高了生产效率。电商平台ACTO...
点击进入详情页
本回答由骏磬国际贸易提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询