📄 subject_63840.htm
字号:
<p>
序号:63840 发表者:badboy 发表日期:2003-12-06 16:28:00
<br>主题:关于线程函数的参数类型!
<br>内容:#include <stdio.h><BR>#include <stdlib.h><BR>#include <windows.h><BR>#include <iostream.h><BR>DWORD WINAPI ThreadFunc(LPVOID);<BR>int main()<BR>{<BR> HANDLE hThrd;<BR> DWORD threadId;<BR> int i;<BR> <BR> for (i=0; i<5; i++)<BR> {<BR> hThrd = CreateThread(NULL,<BR> 0,<BR> ThreadFunc,<BR> (LPVOID)i,<BR> 0,<BR> &threadId );<BR> if (hThrd)<BR> {<BR> printf("Thread launched %d\n", i);<BR> CloseHandle(hThrd);<BR> }<BR> }<BR> Sleep(2000);<BR> return EXIT_SUCCESS;<BR>}<BR>DWORD WINAPI ThreadFunc(LPVOID n)<BR>{<BR> int i;<BR> for (i=0;i<10;i++)<BR> printf("%d\n",n);<BR> //请问,这个线程函数传进来的n类型不是指针吗?怎么,上面打印出来的是数,而不是地址?<BR><BR> return 0;<BR>}<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:米罗 回复日期:2003-12-06 18:23:10
<br>内容:读一下msdn,写的很详细。<BR>你也可以分析你写的程序。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:学vc 回复日期:2003-12-07 21:07:14
<br>内容:LPVOID: Generic pointer type, equivalent to (void *). <BR>而void* 这种类型实质就是指针,只不过所指的类型不确定而已。<BR>而指针 实际上是一个32 位的无符号的数而已。。<BR>(LPVOID)i, 将i强制转换为void*,<BR>printf("%d\n",n)。又将void* 转换为int<BR>实际上输出的就是传进来的数。<BR><BR>不过最后不要这样做, 强制类型转换是不安全的!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:badboy 回复日期:2003-12-10 17:47:05
<br>内容:printf("%d\n",n)。又将void* 转换为int<BR> 这个printf()函数的 %d的什么意思?是不是它把void *指针给强制转换成int 了? 以前没有这么用过,感觉真奇怪!<BR>“而指针 实际上是一个32 位的无符号的数而已。“ 的确,指针不过是一个最大能表示2的32次幂的数而已。<BR><BR>#include "iostream.h"<BR>int main(int argc, char* argv[])<BR>{<BR> int i=12;<BR> cout<<(int *)i<<endl;<BR> cout<<(int)i;<BR> return 0;<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -