我正在为其编写具有大数组size = 10000
值的代码
BYTE** _rawDataByte;
_rawDataByte = (BYTE**)malloc(size*sizeof(BYTE*));
size_t counter = 0;
for(size_t i =0; i<size; i++)
{
//Assign values to device varibles
//Calculate rawDataByte
std::string rawData(_bytesRaw);
_rawDataByte[i] = (BYTE*)hex2bytes(rawData.c_str());
std::cout << ++counter <<std::endl;
}
std::cout <<"Step 00 completed" <<std::endl;
因此,我在双指针_rawDataByte处得到segfault。我在Linux上使用nvcc编译器。
此行:
BYTE** _rawDataByte = new BYTE*;
分配一个CCD_ 2。
此行:
_rawDataByte[i] = ... blah blah ...
写入第CCD_ 3’个CCD_。如果i
不为0,则它超出了界限。_runs
也有同样的问题。