Как узнать номера строк локальных объявлений / циклов в функции C - PullRequest
0 голосов
/ 08 февраля 2009

Я хотел знать, на каком номере строки находятся объявления в данной функции C. Также, какие строки имеют циклы if / while / for или какие строки занимают несколько строк (т.е. они не должен заканчиваться на одной строке).

Ответы [ 3 ]

2 голосов
/ 08 февраля 2009

Я думаю, нам нужно знать, зачем вам нужен номер строки, чтобы помочь вам.

Различно:

1) Вы можете использовать __LINE__ в коде, чтобы получить текущий номер строки. 2) Большинство редакторов могут показывать номера строк рядом с кодом.

Если вы хотите записать точки останова, я не уверен, что это возможно - я бы предложил установить точки останова для имени файла и функции, а затем разделить код, пока этого не будет достаточно. Альтернативно исследуйте другие способы сделать тестирование - например, разделение кода, чтобы модульные тесты могли его проверить.

1 голос
/ 08 февраля 2009

Возможно, я не понял вашего вопроса, но вы можете использовать ctags (или один из его вариантов), чтобы получить список объявлений и их номеров строк.

Например, exuberant ctags способен генерировать теги (номера строк) для всех типов тегов языка C / C ++, включая все следующие:

  • имена классов
  • макроопределения
  • Имена перечислений
  • счетчикам
  • определения функций
  • прототипы / объявления функций
  • члены данных класса, интерфейса, структуры и объединения
  • имена структур
  • 1026 * Определения типов *
  • объединение имен
  • переменные (определения и внешние объявления)
0 голосов
/ 08 февраля 2009

Если можете, используйте инструмент сравнения. Он предоставляет номера строк как часть вывода. Ваш инструмент может затем проанализировать этот вывод, ища объявления или первичный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...