от
Я работаю над проектом, где я кодирования на C в среде Unix. Я использую инструмент lint, чтобы проверить мой исходный код. Линт был вокруг в течение долгого времени (с 1979 года), может кто-нибудь подскажет более свежую утилиту анализа кода я мог бы использовать ? Желательно инструмент, который является бесплатным.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

16 Ответы

0 голосов
от
Я работаю над проектом, где я кодирования на C в среде Unix. Я использую инструмент lint, чтобы проверить мой исходный код. Линт был вокруг в течение долгого времени (с 1979 года), может кто-нибудь подскажет более свежую утилиту анализа кода я мог бы использовать ? Желательно инструмент, который является бесплатным.
0 голосов
от
Не забывайте себя компилятор. Читать документацию по компилятору и найти все предупреждения и ошибки, он может представить, а затем включить как много смысла для вас. Также обязательно укажите ваш компилятор будет рассматривать предупреждения как ошибки, так что вы заставили их исправить сразу. ("-Werror" на НКУ) Также: "Стену" на ССЗ не включить все предупреждения, не обманывайте себя. Также ознакомьтесь с Valgrind (бесплатно!) - Это "автоматическое определение[с] много управление памятью и многопоточность ошибки, и профиль[с] вашими программами в деталях." С Valgrind-это не статический чекер, но это отличный инструмент! http://valgrind.org
0 голосов
от
Для кода на языке C, вы определенно должны определенно использовать Flexelint. Я использовал его в течение почти 15 лет и клянутся им. Одним из действительно замечательных особенностей является то, что предупреждения могут быть выборочно отключены и через комментарии в коде ("/* корпия -Е123*/"). Это оказалось мощным инструментом документацию, когда вы хотели что-то необычное. "Я выключив предупреждение х, поэтому, есть несколько хороших причин, почему я занимаюсь х". Ни для кого в интересные С/С вопросы, рассмотрим некоторые их примеры на их сайте и посмотреть, если вы можете выяснить баги не глядя на подсказки.
0 голосов
от
Я слышал хорошие вещи о лязг статический анализатор, который использует LLVM с МСИО как это бэкенд. Если это реализовать на вашей платформе, что может быть хорошим выбором. Насколько я понимаю, это немного больше, чем просто анализ синтаксиса. "Автоматический поиск ошибок", например.
0 голосов
от
Мы используем Coverity допустить, чтобы проверить исходный код на C . Это не бесплатный инструмент (хотя я считаю, что они предлагают бесплатные проверки для проектов с открытым исходным кодом), но это один из лучших инструментов статического анализа вы найдете. Я слышал, что это даже более впечатляюще на C, чем на C , но это помогло нам избежать довольно большое количество багов до сих пор.
0 голосов
от
Недавно я составил список всех инструментов статического анализа в моем распоряжении, я все еще в процессе оценки их всех. Обратите внимание, это в основном средства анализа безопасности. тутор Крысы SMATCH Уно
0 голосов
от
Вы можете использовать cppcheck умеет. Это простой в использовании инструмент статического анализа кода.Например:
cppcheck 
будет проверять все C/C   файлов в текущей папке.
0 голосов
от
Lint-подобный инструмент, как правило, страдают из-за "ложной тревоги" проблемы: они сообщают много больше проблем, чем реально существуют. Если доля действительно полезных предупреждений слишком низко, пользователь научится просто игнорировать этот инструмент. Более современные инструменты затратить некоторые усилия, чтобы сосредоточиться на наиболее вероятное/интересные предупреждения.
0 голосов
от
ПК-в lint/Flexelint очень мощные и полезные инструменты статического анализа, и настраиваемый, хотя, к сожалению, не бесплатно. При первом использовании такого инструмента, они могут производить огромное количество предупреждений, которые могут сделать его трудно различать главные и второстепенные. Поэтому, лучше всего начать использовать инструмент на ваш код, как в начале проекта, как это возможно, а затем запустить его как можно чаще на ваш код, так что вы можете иметь дело с новыми предупреждениями, как они приходят. При постоянном использовании, как это, вы вскоре научитесь писать код таким образом, что подтверждает правила, применяемые инструмент. Из-за этого, я предпочитаю инструменты, такие как ворсинки, которые работают относительно быстро, и поэтому настоятельно рекомендуем постоянно использовать, а не более громоздкими инструментами, которые вы можете использовать реже, если вообще.
0 голосов
от
Вы можете попробовать CppDepend, довольно полный статический анализатор доступна на Windows и Linux, повсеместно против плагина, IDE или командную строку, и это бесплатно для участников открытых источников
...