2013-01-18 39 views
0

我想知道是否有軟件或某種方式可以計算在C++寫入的程序中使用的類的數量。在C++文件中計數類

我正在做一個項目,該項目需要我在一個開源程序中進行調查並計算類的數量。

在此先感謝

+4

我認爲你需要google的短語是「靜態代碼分析」。 – Alex

+0

這可能會因編譯時從模板創建的類的數量而變得複雜。 :-) – Omnifarious

+0

@Omnifarious分析編譯前一定要做... – Alex

回答

1

如果你使用Xcode中,您可以用CMD-2打開符號導航,它會告訴你的類,函數和項目中的其他元素的數量。

2

以下Python腳本會給出說明。 在源代碼樹的根目錄中運行它,它會給你在源代碼樹中定義的類的數量。

import os 
import re 

def main(): 
    classes = set() 

    for root, folders, files in os.walk("."): 
     for file in files: 
      name, ext = os.path.splitext(file) 

      if ext.lower() not in [".h", ".hpp", ".hxx"]: 
       continue 

      f = open(os.path.join(root, file)) 
      for l in f: 
       m = re.match(r'class ([a-zA-Z0-9]*)[^;]*$', l) 
       if not m: 
        continue 

       classes.add(m.groups()) 

      f.close() 

    print len(classes) 

if __name__ == "__main__": 
    main()