2010-03-23 37 views
6

我是學生,正在爲多核處理器優化GCC。我試着通過源代碼,很難通過它,因爲我需要添加一些代碼到後端。任何人都可以提出一些很好的資源來解釋通過不同階段的代碼流。 另外建議一些開發環境用於調試GCC,主要是爲了遍歷代碼。在Windows上可以嗎?一些理解GCC源代碼的指針

+3

你曾經參加過編譯器課程,或者讀過龍書嗎?如果兩者都是「否」,那麼你不太可能理解代碼 - 編譯器是最複雜的程序之一。 – 2010-03-23 23:26:11

+2

是的,我已經參加了編譯課程,並且還閱讀了龍書[儘管並非完全]。但是,儘管如此,試圖瞭解海灣合作委員會是如你所說的具有挑戰性 – rizwanhudda 2010-03-24 07:52:35

+0

我已經參加了一個編譯器課程。龍書是什麼? – Daniel 2014-05-29 16:44:44

回答

7

作爲一個起點,請參閱GCC網站上的Links and Selected Readings。特別感興趣的是你的,我認爲,主要有:

如果你想在Windows上,你可能需要開發從MinGW(適用於Windows的Minimalist GNU)編譯器套件源代碼(它包括GNU GDB調試器)開始,它是GCC到Windows的一個端口。

對於一個舒適的開發環境,我不能幫忙,因爲我不用C++開發。但我認爲一個好的C/C++ IDE是你需要的:看看this comparison,有很多免費/開源的Windows IDE。

更新:我覺得ICI也可以是你的興趣:

互動編譯接口 (或「ICI」的簡稱)是一個插件 系統的高級別 編譯器無關的和低層次的 編譯器相關的API來變換 當前編譯器到協作 開放式模塊化交互式工具集。 ICI框架充當編譯器和用戶可定義的插件之間的「中間件」接口。它開闢了 和重用產品質量 編譯器基礎設施,使 程序分析和檢測儀器, 細粒度程序優化, 新的發展 簡單的原型和同時避免 從 從頭構建新的編譯工具的研究思路。例如,在 里程碑GCC用於自動編譯和 架構設計和程序 基於統計 分析和機器學習優化。它 應啓用通用自我調整 編譯器適應異構, 可重構,多核 體系結構從 超級計算機到嵌入式系統。

..作爲Collective TUNING下的其他項目的保護傘。BlueRaja在評論中寫道,編寫「編譯器是最複雜的程序之一」,這是誇大其辭的:有非常簡單的編譯器和非常複雜的編譯器。但是在編譯器理論中(一旦你研究了它),沒有什麼是深奧的。海灣合作委員會是一個複雜的程序,無論如何理解,記錄不完善的程序。因此,不要氣餒rizwanhudda:開始研究可用的文檔,然後要求GCC開發人員(在GCC irc頻道上,作爲suggested by nvlGCC developers mailing list)解釋記錄不好的(或根本不記錄的)。

  1. 其實program comprehension是一個活躍的研究領域。
+0

謝謝。這真的很有幫助。 – rizwanhudda 2010-03-24 07:54:04

+0

不客氣。 – MaD70 2010-03-24 18:02:26