Вы не выделяете память для miniBuffer
, который является массивом char
указателей. Что на самом деле не проблема - проблема в том, что в первую очередь это не должен быть массив char
указателей. Вам нужно только, чтобы он представлял собой массив символов типа следующего:
char miniBuffer[1];
И еще одно изменение заключается в проверке этого единственного элемента массива на наличие символа \n
.
if (miniBuffer[0] == '\n')
Вы можете обнаружить, что было бы более эффективно читать большие куски, увеличив размер массива и используя такие функции, как strchr
, чтобы найти любой \n
в строке. Вам нужно будет сохранить сумму, возвращаемую read
, чтобы вы могли NUL
правильно завершить строку.
Попросите, чтобы компоновщик удалил не имеющие ссылки объекты (/OPT:REF). При использовании связывания на уровне функций и подробного вывода компоновщика вывод компоновщика перечислит каждую функцию, которую это может доказать, не использовано. Этот список может быть совсем не полным, но Вам уже были нужны инструменты.
Используйте инструмент покрытия кода против своего комплекта модульного теста.
Мы используем Мишень, и я могу рекомендовать это. Это не должно быть выполнено от среды модульного теста, хотя это - то, что мы делаем.