Автоматизированное обнаружение Мертвого кода в собственном приложении C++ в Windows?

Вы не выделяете память для miniBuffer, который является массивом char указателей. Что на самом деле не проблема - проблема в том, что в первую очередь это не должен быть массив char указателей. Вам нужно только, чтобы он представлял собой массив символов типа следующего:

char miniBuffer[1];

И еще одно изменение заключается в проверке этого единственного элемента массива на наличие символа \n.

if (miniBuffer[0] == '\n')

Вы можете обнаружить, что было бы более эффективно читать большие куски, увеличив размер массива и используя такие функции, как strchr, чтобы найти любой \n в строке. Вам нужно будет сохранить сумму, возвращаемую read, чтобы вы могли NUL правильно завершить строку.

12
задан Community 23 May 2017 в 12:22
поделиться

3 ответа

Попросите, чтобы компоновщик удалил не имеющие ссылки объекты (/OPT:REF). При использовании связывания на уровне функций и подробного вывода компоновщика вывод компоновщика перечислит каждую функцию, которую это может доказать, не использовано. Этот список может быть совсем не полным, но Вам уже были нужны инструменты.

7
ответ дан 2 December 2019 в 23:43
поделиться

Используйте инструмент покрытия кода против своего комплекта модульного теста.

-4
ответ дан 2 December 2019 в 23:43
поделиться

Мы используем Мишень, и я могу рекомендовать это. Это не должно быть выполнено от среды модульного теста, хотя это - то, что мы делаем.

1
ответ дан 2 December 2019 в 23:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: