Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/40: Рейтинг темы: голосов - 40, средняя оценка - 4.53
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33

Статический анализатор кода

02.04.2015, 23:41. Показов 8737. Ответов 53
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Сразу извиняюсь за то, что создал тему не в том форуме ( не знал, где ее можно создать, ибо очевидного форума про такие программы не нашел ).
И еще, хочу извинится за глупые, "нубские" вопросы, а их здесь будет, по-моему мнению, много, потому что не имею никакого опыта в этом деле.
В общем установил я Keil uVision 5, установил PC-Lint 9.00a (cracked) (работать буду по MISRA C 2004), "прикрутил" PC-Lint к Keil'у через Tools->PC-Lint Setup.
Всякие первоначальные настройки я сделал через CONFIG.exe в папке с PC-Lint, но и то с большим трудом, потому что, как я уже говорил ранее, абсолютно не понимаю что к чему.
Но в чем же проблема? А проблема в следующем, когда запускаю lint-nt.exe (главный файл), выскакивает окно, скриншот которого я прикрепил снизу. Ясное дело, что это более детальные настройки, но как в них разобраться, прочитать более детально, о чем в каждом пишется, перерыл кучу форумов и документаций в надежде найти хоть что-то, но в большинстве случаев я столкнулся с 2-мя проблемами: первая - недостаточное знание английского языка, а точнее "технической" его части, вторая - попросту в документе или на сайте не было ничего полезного.
Вот и решил написать сюда, может кто-то имел опыт работы с этой программой или может посоветовать хоть что-нибудь полезное по этой теме.
Выбрал именно PC-Lint потому, что, насколько я понял, он единственный, кого поддерживает Keil. Если я ошибаюсь - прошу написать.
Заранее спасибо.
Миниатюры
Статический анализатор кода  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2015, 23:41
Ответы с готовыми решениями:

Статический анализатор Cppcheck: как пользоваться?
Здравствуйте! Если кто пользовался, прошу подсказать: как ей пользоваться? скачал, установил, выбираю "анализ", "файлы"...

Реализовать статический анализ кода на Си
Разработать программу canalyze анализа программ на языке С. Команда canalyze принимает на вход имя файла, содержащего программу на языке...

Статический анализатор кода
Всем доброго времени суток! Мне поставлена задача, написать статический анализатор кода для MPI. Для начала хотелось бы разобраться с...

53
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
03.04.2015, 01:03
Цитата Сообщение от Houston Посмотреть сообщение
PC-Lint
В поставке уже должны быть готовые профили для MISRA - используйте как образец. + также в комплекте должен быть PDF-manual от Gimpel Software.
0
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
03.04.2015, 15:11  [ТС]
В том то и дело, что в первоначальных настройках я выбрал MISRA C 2004, но это ничего не дало, я так понял, или, может, оно выводит настройки правил самой MISRA, но я не понимаю, что к чему в них, как включить их.
Мне хотя бы запустить на проверку файла PC-Lint.

Добавлено через 51 минуту
И еще, когда в самом Keil нажимаю "проверить файл", то пишет:
Running PC-Lint...
PC-lint for C/C++ (NT) Vers. 9.00a, Copyright Gimpel Software 1985-2008

И больше ничего, а по идее должно чекнуть на правила.

Добавлено через 6 минут
Может, кто-нибудь поможет с полной установкой и настройкой PC-Lint с нуля. Буду ну оочень благодарен.

Добавлено через 9 минут
Так же обнаружил, что при проверке через файл LIN.bat окно открывается и тут же закрывается, с чем это связано?
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
03.04.2015, 15:15
Цитата Сообщение от Houston Посмотреть сообщение
И больше ничего
Это консольная утилита. Она принимает командную строку и выводит отчет в stdout (если он не перенаправлен).
Все настройки описаны в документации - читайте PC-lint.pdf
1
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
03.04.2015, 15:41  [ТС]
В директории нету этого файла и поиск ничего не выдает, такое чувство, что Линт не проверяет файл на ошибки, то-есть возникает ошибка сразу после запуска, может быть я при установках конфигурации не правильно указал что-то. Сейчас на работе, вечером опишу детально что, где и как выбирал.
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
03.04.2015, 16:19
Запустите, сначала, CONFIG.exe. Укажите правильные пути итд. Проверьте, что каталог Lint прописан в %path%, и что файл std.lnt корректно указывает на %include% директорию вашего компилятора.
Вложения
Тип файла: 7z PC-lint.pdf.7z (2.02 Мб, 8 просмотров)
0
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 13:01  [ТС]
Запустите, сначала, CONFIG.exe. Укажите правильные пути итд. Проверьте, что каталог Lint прописан в %path%, и что файл std.lnt корректно указывает на %include% директорию вашего компилятора.
А где, собственно, находиться, компилирующий файл Keil`a? Сколько искал-искал - нигде не нашел никакой информации.
0
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 13:51  [ТС]
Моя пошаговая настройка Lint через файл Config.exe.
Я так понимаю на 7 скриншоте, который с кнопочкой "Browse", нужно указать путь к компилятору Keil, но я нигде не нашел информации об его местонахождении. Библиотеки вроде бы указал правильно, хотя уже не помню, какие Keil использует, но код на Keil пишется на С.
Миниатюры
Статический анализатор кода   Статический анализатор кода   Статический анализатор кода  

Статический анализатор кода   Статический анализатор кода   Статический анализатор кода  

Статический анализатор кода   Статический анализатор кода   Статический анализатор кода  

Статический анализатор кода  
0
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 14:03  [ТС]
Настройки в самом Keil.
Первый скриншот - его настройки.
Второй - используем Tools - >Set up PC-Lint.
Здесь и здесь пишет, как установить, а во второй ссылку снизу показан результат запуска PC-Lint в Keil, то-есть в Output Window должны быть показаны ошибки, а не отдельно в файле или консоли.
Миниатюры
Статический анализатор кода  
Изображения
 
0
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 14:25  [ТС]
Только что в настройках Lint в самом Keil в "Configuration File" выбрал "co-kcarm.lnt" и вроде бы заработало.
Но нужно include прикрепить, а то ругается на него.
Миниатюры
Статический анализатор кода  
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.04.2015, 14:30
Про Keil ничего не знаю. Если он поддерживает pipes, то можете перенаправить вывод Lint ему. Если нет - сохраняйте во временный файл.

Добавлено через 2 минуты
Цитата Сообщение от Houston Посмотреть сообщение
include прикрепить
Задается строчкой в std.lnt, ключ -i (-i"full path to include directory").
0
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 14:33  [ТС]
Задается строчкой в std.lnt, ключ -i (-i"full path to include directory").
Сделал, как Вы сказали, прописав в нем путь к папке с файлами, но все равно ошибка вылазит.
Миниатюры
Статический анализатор кода  
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.04.2015, 14:40
А где находится сам этот time.h?

Если не в %include%, то можно прописать полный путь к нему (или относительный - по отношению к C-файлу, в который он включается).
0
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 14:48  [ТС]
Цитата Сообщение от gazlan
А где находится сам этот time.h?
У меня он находится по пути: C:\Keil_v5\ARM\ARMCC\include.
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.04.2015, 15:12
И именно этот путь в двойных кавычках указан в ключе -i (без пробела после i)?

Сам std.lnt должен лежать либо в каталоге программы, либо в текущей директории - проверьте. Попрбуйте пересоздать его, используя CONFIG.exe
0
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 15:16  [ТС]
Именно так.
Миниатюры
Статический анализатор кода  
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.04.2015, 15:50
На вид, все ОК. А если заменить угловые скобки на двойные кавычки: "time.h"? Прописать полный путь?

Если ошибка на первом же С файле, то что-то не так в настройках - не видит сам %include%. Убедитесь, что std лежит в каталоге Lint и не перекрывается локальными настройками в других каталогах/других lnt-файлах.
0
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 16:01  [ТС]
Пробовал по-разному прописывать и с кавычками и с угловыми скобками и без расширения файла, как угодно.
Прописал полный путь (надеюсь правильно, а то не приходилось), результат на скриншоте. Ошибка вроде бы пропала. То-есть, по сути, std-файл, не видит директории?
Миниатюры
Статический анализатор кода  
0
 Аватар для Houston
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 16:16  [ТС]
Меня еще "Error 40" волнует, документация Lint`a говорит следующее:
Undeclared identifier 'Name' -- Within an expression, an
identifier was encountered that had not previously been declared
and was not followed by a left parenthesis. Name is the name of
the identifier.
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.04.2015, 16:17
Цитата Сообщение от Houston Посмотреть сообщение
по сути, std-файл, не видит директории?
Угу. С этим и надо разбираться. Как я понимаю, %include% директория единственная? Посмотрите, нет ли где еще другого std.lnt в пути поиска и в текущем каталоге, убедитесь еще раз, что путь прописан корректно, что std-файл заканчивается пустой строкой (мало ли), добавьте в %path% сам каталог c:\lint. Других идей нет...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2015, 16:17
Помогаю со студенческими работами здесь

Vim и статический анализатор кода
Здравствуйте товарищи, вопрос следующий - можно ли прикрутить к Vim статический анализатор кода?

Подскажите статический анализатор кода C++
Есть большой и страшный проект на C++, где много повторяемого кода (или почти повторяемого). Есть ли такой анализатор, который сможет...

Статический анализатор кода (не оптимизатор!!!)
Для многих языков есть статические анализаторы кода. Для "нежно" любимого мной 1С - нет. В ближайшем будущем буду исправлять этот косяк. В...

Анализатор С++ кода
Доброго времени суток. Задача - разработать анализатор исходного кода на языках С++ с выявлением ошибок оформления (отступы пробелы,...

Анализатор кода
Есть исходный файл (код C++) программы. Нужно создать дамп с анализом его содержимого. Например: #include <iostream> void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru