编写了一个主程序,有4个读串口数据的线程。因为每个串口接的设备不同,分别写了几个处理数据的DLL。
但是在调试的时候,进入DLL后由很多奇怪的错误。主要是DLL种定义的变量无法赋值。
1: int arraylength = bytebuff->GetSize();
char* tempstr=new char[arraylength];
for (int i=0;i<arraylength;i++)
{
tempstr[i]=bytebuff->GetAt(i);
}
tempstr值一直为空;
然后我试了一下,
2: char *pstr=new char[5];
pstr[0] = 0x19;
pstr[1] = 0x29;
pstr[2] = 0x39;
CString tempstr="iiiiii";//(bytebuff->GetData());
pstr,tempstr都无法赋值,都为0x00;
而且对第一段代码,我在第二行随便加入byte pstr;就报0xc00000005错误了;但是我把代码写到程序中成全局函数就没有问题了,各位,这个什么原因?困惑