2010-10-29 102 views
3

我工作的一個C++項目中,模塊意味着一小羣用於特定目的(在某種處理管線)要合併的所有實例。工具來尋找類

有時候很難知道任何變化的影響,因爲我們直觀地甚至不知道正在使用我們的模塊之一的所有地方。

我知道我可以做的文件搜索來查找類的所有實例,但有一個工具,它可以分析我的源代碼,並給我每個類的多少實例的列表中使用呢?

+1

我真的不明白你正在嘗試做點:'的(...){A * =新A;}':有多少實例是... – 2010-10-29 04:00:31

+0

我的目標是成爲能夠了解變革的潛在影響。爲了我的目的,這隻會算作一個。我想我感興趣的是有多少其他模塊實際使用A類。 – martin71 2010-10-29 04:06:50

+0

如果B從A繼承,那麼大概你也想找到B的實例? – 2010-11-01 01:48:49

回答

2

但是我可能不會理解你的問題的權利,但我相信使用Doxygen可以這樣做:http://www.stack.nl/~dimitri/doxygen/

您將可以看到是如何被使用的一切,從什麼所謂。它會給你類調用什麼其他類,你的代碼的整個層次結構。

+1

是的,或者只是使用'grep'。 – 2010-10-29 03:45:39

+0

我以前使用過doxygen,但不知道它可以這樣做......我會再次檢查它。 – martin71 2010-10-29 03:45:54

+1

如果B繼承自A,那麼grep將找不到B. – 2010-11-01 01:47:57

0

如果通過代碼所有的路徑是已知的(在現實中不太可能),然後把一個printf/cout在類的構造函數會做的工作很好。

否則,我將部署一個find - 和 - grep解決方案。