2013-07-23 65 views
2

我有幾個C函數在各種實現文件(.m)應該被標記爲static但不是。我如何快速,輕鬆,簡單地找到它們?如何在Xcode中搜索(靜態)C函數定義?

由於我所假設的是LLVM的自由度,並非所有這些函數都被聲明。這使得這項任務變得更加困難。

Xcode Navigator(左側)窗格具有符號導航器選項卡,但這隻顯示在@interface中聲明的符號。

在搜索導航器選項卡中,我將樣式字段更改爲「正則表達式」並使用[a-zA-Z]\(。這是一個過於廣泛的搜索。例如,也可以找到@selector(。但對我來說,手動挑選所有命中並完成我的任務已足夠。

在終端中,我可以做awk '/[a-zA-Z]\(.*[^;]$/' *.m(正則表達式在搜索導航器中無法正常工作),而且我的不需要的點擊少得多,但我更喜歡僅Xcode解決方案。

我已經解決了我的問題,但是我問了這個問題,因爲知道Xcode比我更好的其他人可能有更好的解決方案,而且我沒有看到類似的問題。

回答

0

「應該標記爲靜態」是什麼意思?它是否與「可以被標記爲靜態,因爲它們在編譯單元外未被使用」相同?如果是這樣的話,可以使用'nm'來從.o文件中獲取符號,然後找出哪些僅用於單個.m文件中。一旦腳本寫完,這將滿足「簡單,輕鬆,快速」的目標。 :¬)