QT如何调用pthread_create函数

wibnmo 2010-11-11 03:54:42
QT里调用pthread_create(&pid, NULL, recv_data, "recv data");
recv_data函数里也是C代码,主要实现本地域套接字来实现进程间通信的东西。接收客户端传过来的数据包。
编译出现以下错误:
error: invalid conversion from ‘const void*’ to ‘void*’
main.cpp:112: error: initializing argument 4 of ‘int pthread_create(pthread_t*, const pthread_attr_t*, void* (*)(void*)
不知道是哪里的错,我想知道的是QT里如何用pthread_create起线程。有谁解答下,谢谢了。
...全文
859 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ckman123 2010-11-11
  • 打赏
  • 举报
回复
我也在找这个
念茜 2010-11-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yiya50002linux 的回复:]
error: invalid conversion from ‘const void*’ to ‘void*’
说的很明白 第三个参数不能是const void* 型 ,而应该是 void* 型 。

QT下,一般都自定义类MyThread继承 Qt提供的QThread类来实现线程的调用。
比如,class MyThread :public QThread{

public:
v……
[/Quote]


GOOD!哈哈
yiya50002linux 2010-11-11
  • 打赏
  • 举报
回复
error: invalid conversion from ‘const void*’ to ‘void*’
说的很明白 第三个参数不能是const void* 型 ,而应该是 void* 型 。

QT下,一般都自定义类MyThread继承 Qt提供的QThread类来实现线程的调用。
比如,class MyThread :public QThread{

public:
void run();

}
void MyThread::run()
{
写你自己的处理函数 代码
}


在main里 用start()调用,这个方法是QT提供的。
比如 Int main()
{
MyThread a;
a.start();
a.quit();
}
奔跑吧猴哥 2010-11-11
  • 打赏
  • 举报
回复
"recv data" 是个常量,不能用作参数!

PS:
Qt本身有QThread,你为什么要用pthread呢???

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧