C++ C++;-CreateThread-编译错误
这是我第一次使用windows。我试图创建线程,但无法编译代码 这是我代码的一部分:C++ C++;-CreateThread-编译错误,c++,windows,createthread,C++,Windows,Createthread,这是我第一次使用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);
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 ){}
都没有编译。没人知道问题出在哪里
(我正在使用windows xp)
谢谢。好吧,如果您提供了一个最小的代码示例和至少一个编译错误,那就太好了。但很好,我会假装是一个编译器。假设您的代码段位于函数中,则其中包含函数声明:
DWORD WINAPI readFromPort(LPVOID lpParam ){}
我相信那会把你搞砸的。您必须在其他函数的作用域之外声明/定义函数
另外,
readFromPort
函数是在调用CreateThread
后声明的,该函数作为参数引用。因此,即使您将所有这些都放在全局范围内(这本身就是一个坏主意),它也不会起作用。如果您提供了一个最小的代码示例和至少一个编译错误,那就太好了。但很好,我会假装是一个编译器。假设您的代码段位于函数中,则其中包含函数声明:
DWORD WINAPI readFromPort(LPVOID lpParam ){}
我相信那会把你搞砸的。您必须在其他函数的作用域之外声明/定义函数
另外,
readFromPort
函数是在调用CreateThread
后声明的,该函数作为参数引用。因此,即使将所有这些都放在全局范围内(这本身就是一个坏主意),它也不会工作。让我猜猜:readFromPort
必须返回一个值吗
下次请添加错误。让我猜猜:
readFromPort
必须返回值吗
下次请添加错误。好吧,我不知道你有什么错误。但可以为你提供一个很好的例子
#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;
}
与您的不同之处:
我不知道你有什么错。但可以为你提供一个很好的例子
#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;
}
与您的不同之处:
嗯,错在哪里?你需要让我们知道。最好是一个简单的示例代码请使用
\u beginthreadex
而不是CreateThread
(如果您使用的是CRT库,您通常会在不知不觉中这样做)。那么,错误是什么呢?你需要让我们知道。最好是一个简单的示例代码,请使用\u beginthreadex
而不是CreateThread
(如果您使用的是CRT库,您通常会不知不觉地这样做)。