我试图用C编写一个小程序,该程序读取文件并计算内容的CRC。我在netbeans中创建了该程序,并且在IDE中一切正常。当我使用GCC构建项目并运行生成的exe时,读取文件时程序失败。文件为1.3 Mb。
读取文件时,我最终收到错误消息“内部错误:TP_NUM_W_BUFS太小:50”
我读取的代码非常简单,它只进行很少的行处理。
while (fgets(line, HEX_LINE_LENGTH, fp))
{
int len = strlen(line);
line[len] = line[len-1];
line[len-1] = '\r';
memcpy(&hex_lines[num_lines], line, HEX_LINE_LENGTH);
num_lines++;
printf("%s\n", line);
memset(line, 0, HEX_LINE_LENGTH);
}
我看到了一个新问题。通过netbeans IDE读取文件时,一切正常。当我使用
从命令行编译程序时g++ main.c crc_calculator.c crc_calculator.h -o crc
我得到一个crc.exe文件。运行此命令将读取我的文件,但将报告已读取的行数是实际行数的两倍。