Я пытаюсь создать небольшую программу на C, которая читает файл и вычисляет CRC по содержимому.Я создал программу в NetBeans и в IDE все работает.Когда я собираю проект с GCC и запускаю сгенерированный exe, программа завершается ошибкой при чтении файла.Файл 1,3 Мб.
При чтении в файле я в конечном итоге получаю сообщение об ошибке «Внутренняя ошибка: 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);
}
Я вижу новую проблему.При чтении в моем файле через IDE NetBeans все работает нормально.Когда я компилирую программу из командной строки с
g++ main.c crc_calculator.c crc_calculator.h -o crc
, я получаю файл crc.exe.Запуск этого будет читать в моем файле, но сообщит, что было прочитано в два раза больше строк, чем фактически существует.