Операционная система UNIX. Руководство программиста

       

Информация об определениях/использованиях значений


lint стремится выявлять ситуации, когда значения переменных используются до того, как определяются (присваиваются). lint выявляет локальные переменные (принадлежащие автоматическому и регистровому классам памяти), первое использование которых при выполнении программы происходит раньше, чем им присваивается какое-либо значение. Считается, что вычисление адреса переменной составляет ее "использование", поскольку фактическое использование может произойти в любой последующий момент посредством указателя.

Ограничение вхождений переменных рамками одного файла позволяет очень просто и быстро реализовать соответствующий алгоритм, так как не нужно выявлять истинный поток управления. Это означает, что lint может печатать сообщения, относящиеся к корректным фрагментам программ, стиль которых тем не менее следует признать плохим. Поскольку статические и внешние переменные инициализируются нулями, никакой содержательной информации об использовании их значений получить нельзя. Утилита lint обрабатывает и инициализируемые автоматические переменные.

Информация об определении/использовании значений позволяет также обнаружить локальные переменные, значения которых определяются, но нигде не используются. Это часто оказывается источником неэффективности и, кроме того, может быть проявлением ошибки.



Содержание раздела