尝试找出为什么只有不到1%的时间我将内存写入问题。好像来自一个随机线程,它无法写入。我想知道铸件是否不稳定?
char *str = (char*)q_str.toStdString().c_str();
memcpy(m_list + m_count + m_length, str, strlen(str));
m_count++;
答案 0 :(得分:4)
toStdString()
返回一个临时的。这个临时符号在分号处被销毁,此时str
成为悬空指针。做到这一点
string s = q_str.toStdString();
memcpy(m_list + m_count + m_length, s.c_str(), s.length());