2013-07-23 1 views
2

У меня есть несколько функций C в различных файлах реализации (.m), которые должны быть помечены как static, но нет. Как найти их быстро, легко и просто?Как искать (статические) определения функции C в Xcode?

Из-за того, что я предполагаю, является либеральность LLVM, не все объявленные. Это делает задачу немного сложнее.

Панель «Навигатор Xcode» (lefthand), имеет вкладку «Навигатор символов», но это отображает только символы, объявленные в @interface.

На вкладке «Навигатор поиска» я изменил поле «Стиль» на «Регулярное выражение» и использовал [a-zA-Z]\(. Это слишком широкий поиск. Например, также найден @selector(. Но мне было достаточно, чтобы вручную выбрать все хиты и выполнить мою задачу.

В терминале я могу сделать awk '/[a-zA-Z]\(.*[^;]$/' *.m (что регулярное выражение не работает должным образом в Search Navigator), а мои нежелательные образы намного меньше, но я бы предпочел решение только для Xcode.

Я уже решил свою проблему, но я задаю этот вопрос, потому что кто-то, кто знает Xcode лучше, чем я, может иметь лучшее решение, и я не вижу аналогичного вопроса.

ответ

0

Что означает «должно быть помечено как статическое»? Это то же самое, что «может быть помечено как статическое, потому что они не используются вне единицы компиляции»? Если это так, можно использовать «nm» для вывода символов из файлов .o, а затем выяснить, какие из них были использованы только в одном файле .m. Это выполнило бы «просто, легко, быстро», как только скрипт был написан. : ¬)

Смежные вопросы