这是我第一次接触windows。我试图创建线程,但我无法编译我的代码。
这是我的代码的一部分:
WORD _tid;
HANDLE readerThread= CreateThread(0,0,readFromPort,0,0,&_tid);
DWORD WINAPI readFromPort(LPVOID lpParam ){}我也试过了:
LPDWORD_tid;
HANDLE readerThread= CreateThread(0,0,readFromPort,0,0,_tid);
DWORD WINAPI readFromPort(LPVOID lpParam ){}都没有编译过。onyone知道问题出在哪里吗?
(我使用的是windows xp)
谢谢。
发布于 2012-06-03 22:43:24
好吧,不知道你有什么错误。但我可以为你提供一个很好的例子
#include "windows.h"
DWORD WINAPI readFromPort(LPVOID lpParam ){return 0;}
int _tmain(int argc, _TCHAR* argv[])
{
DWORD _tid;
HANDLE readerThread= CreateThread(0,0,readFromPort,0,0,&_tid);
return 0;
}与你的不同之处:
发布于 2012-06-03 22:36:15
让我猜猜:readFromPort必须返回值?
下一次也请添加错误。
发布于 2012-06-03 22:29:20
好吧,如果你提供了一个最小的代码示例和至少一个编译错误,那就更好了。不过,好吧,我会假装成一个编译器。假设您的代码片段在一个函数中,您在其中有一个函数声明:
DWORD WINAPI readFromPort(LPVOID lpParam ){}我相信这会把你搞砸的。您必须在其他函数的作用域之外声明/定义函数。
此外,readFromPort函数是在调用CreateThread之后声明的,其中它被作为参数引用。因此,即使您将所有这些都放在全局范围内(这本身就是一个坏主意),它也不会起作用。
https://stackoverflow.com/questions/10871089
复制相似问题