当前位置: 技术问答>linux和unix
C++类中创建线程
来源: 互联网 发布时间:2016-09-27
本文导语: 总是报错 我查了下 在类中要静态定义线程函数 ,结果还是不行 代码: class CSerial { private: //int m_fd; float jingdu; float weidu; pthread_t m_thread; //通讯线程标示符ID ...
总是报错 我查了下 在类中要静态定义线程函数 ,结果还是不行 代码:
class CSerial
{
private:
//int m_fd;
float jingdu;
float weidu;
pthread_t m_thread; //通讯线程标示符ID
static int* ReceiveThreadFunc(void*); //串口数据接收线程
public:
CSerial(){} //构造函数
virtual ~CSerial(){} //析构函数
int m_fd;
int m_Datlen;
char DatBuf[512];
int m_ExitThreadFlag;
/* 按要求打开串口 (串口号 波特率 数据位 奇偶校验位 停止位)并创造线程 */
int OpenPort(char* nPort,int nSpeed,int nBits,int nEvent,int nStop);
/* 关闭串口释放相关资源 */
int ClosePort();
/* 向串口写数据 */
int WritePort(char *Buf,int len);
/* 接收串口数据处理函数 */
virtual int PackagePro(char* Buf,int len);
};
int* CSerial::ReceiveThreadFunc(void* lparam)
{
}
pthread_create(&m_thread,NULL,ReceiveThreadFunc,NULL);错误提示好像是指针问题
class CSerial
{
private:
//int m_fd;
float jingdu;
float weidu;
pthread_t m_thread; //通讯线程标示符ID
static int* ReceiveThreadFunc(void*); //串口数据接收线程
public:
CSerial(){} //构造函数
virtual ~CSerial(){} //析构函数
int m_fd;
int m_Datlen;
char DatBuf[512];
int m_ExitThreadFlag;
/* 按要求打开串口 (串口号 波特率 数据位 奇偶校验位 停止位)并创造线程 */
int OpenPort(char* nPort,int nSpeed,int nBits,int nEvent,int nStop);
/* 关闭串口释放相关资源 */
int ClosePort();
/* 向串口写数据 */
int WritePort(char *Buf,int len);
/* 接收串口数据处理函数 */
virtual int PackagePro(char* Buf,int len);
};
int* CSerial::ReceiveThreadFunc(void* lparam)
{
}
pthread_create(&m_thread,NULL,ReceiveThreadFunc,NULL);错误提示好像是指针问题
|
同学,这多年来我唯一可能猜对的问题你都没给机会。。