这个问题已经在这里有了答案:
已关闭8年。
这段代码仅是为了将二进制文件中的值读入数组DataBuffer中。当DataBuffer的大小大于或等于515000时,它只会崩溃。我正在Windows 7的Visual C++ 2010中进行开发。函数cbFileRead()是我无法访问其源代码的东西。 cbFileRead()期望DataBuffer的类型为USHORT *。
#include <stdio.h> // printf()
#include "cbw.h" // cbFileRead()
int main(int argc, char* argv[]) {
// Declarations
char* FileName = argv[1];
long FirstPoint = 0;
long NumPoints;
// Set data collection sizes
const long chunkSize = 515000;
NumPoints = chunkSize; // Number of points to be read into mem
WORD DataBuffer[chunkSize-1];
// Get data
cbFileRead(FileName, FirstPoint, &NumPoints, DataBuffer);
printf("Completed on data point %d whose value is %d\n", NumPoints, DataBuffer[chunkSize-1]);
return 0;
}
崩溃的原因有哪些?我希望数组的大小能够更高。
最佳答案
Microsoft Dev Center - Thread Stack Size
或者,您可以使用new
关键字动态分配内存。