我尝试在循环中运行QtConcurrent :: run(),但程序崩溃:(我正在使用libsmbclient)
void Scanner::scan()
{
for(int i=0;i<ipList.length();i++)
{
QtConcurrent::run(this,&Scanner::scanThread,i);
}
}
void Scanner::scanThread(int i)
{
int dh;
QString ip;
ip="smb://"+ipList[i]+"/";
dh= smbc_opendir(ip.toAscii()); // debugger points to this location
if(dh<0)
return;
emit
updateTree(i,dh); // on commenting this line, it still crashes
}
错误:
talloc:免费错误后访问 - 首次免费可能是../lib/util/talloc_stack.c:103
糟糕的魔法价值 - 免费后访问
该计划意外地完成了。