Вопросы по теме 'splint'

Есть ли способ заставить Splint или подобное средство статической проверки работать с модулями ядра Linux?
Я скомпилировал (без предупреждений) пример hello-5.c из " Руководства по программированию модуля ядра Linux ", и когда я попытался его модифицировать, я получил следующую ошибку: insmod: error inserting 'hello-5.ko': -1 Unknown symbol in...
1426 просмотров
schedule 11.05.2022

Удаление нулевых предупреждений в Splint
Я пробовал Splint с недавно написанной программой на языке C и пытался понять и удалить предупреждения, которые она выдает. . Один я понимаю, но не могу понять, как его удалить из следующего фрагмента кода: static MyType_t *findById(const int...
611 просмотров
schedule 20.06.2023

Что означает это предупреждение о шине и что я могу делать неправильно?
Это строка кода: bool cpfs_utimens(struct Cpfs *, char const *path, struct timespec const[2]); Запуск splint 3.1.2 генерирует это предупреждение: cpfs.h:21:74: Function parameter times declared as manifest array (size...
596 просмотров
schedule 14.07.2022

splint vs gcc: стоят ли внешние инструменты статического анализа кода усилий для кодовых баз C?
Я работаю над довольно сложным проектом, и, как дополнительное усложнение, это встроенный в ядро ​​модуль Linux. Запуск инструмента линтинга, такого как splint, на такой кодовой базе, конечно, не невозможен [1], но тривиальных усилий было...
2127 просмотров
schedule 27.07.2022

Что такое Fresh Storage в Splint?
Я искал в документации Splint термин «свежее хранилище» и нашел упоминание об этом, но не нашел формального определения. Другие модификаторы, такие как null или only, я понимаю и использую. Я просто не уверен, что такое свежее хранилище. Ситуация...
744 просмотров
schedule 30.04.2023

Использование splint для статического анализа кода на windowsms с MPLAB как избежать ошибок парсинга системных файлов
Я использую MPLAB X (3.26) с PIC32 на Windows (компилятор XC32 v1.40). Я пытаюсь использовать шину для статического анализа чьего-то кода в рамках проверки. У меня есть большинство определений компилятора и отсортированные пути поиска, но я немного...
689 просмотров
schedule 10.06.2023

Splint: локальная переменная, используемая перед определением
Я знаю, что локальные переменные могут иметь «случайное» значение, если они не установлены, но плохо ли устанавливать первое значение локальной переменной с помощью указателя? Например: void setValue(int* p_val) { *p_val = …; /* Assignment...
187 просмотров
schedule 13.07.2022