實驗室編譯系統
① Dev-C++的歷史發展
C++是從c語言中發展而來的。C語言是1972年由美國貝爾實驗室(AT&TBell)的D.M.Ritchie研製成功的。它不是為了初學者設計的,而是為計算機專業人員設計的。最初它是作為寫UNIX操作系統的一種工具,在貝爾實驗室內部使用。後來C語言不斷改進,人們發現它功能豐富、表達能力強、使用靈活方便、應用面廣、目標程序效率高、可移植性好,既具有高級語言的優點,又具有低級語言的許多優點,特別適合於寫系統軟體,因此C語言從實驗室走向美國,從美國走向世界。到20世紀70年代,它已風靡全世界。無論是在中國還是在外國,C語言都成為了計算機開發人員的基本功。
但是隨著軟體規模的增大,用C語言編寫程序漸漸顯得有些吃力了。C語言是結構化和模塊化的語言,它是面向過程的。在處理較小規模的程序時,程序員用C語言還是比較得心應手。但是當問題比較復雜、程序的規模比較大時,結構化程序的設計方法就顯出它的不足。
為了解決軟體設計的危機,在20世紀80年代,人們提出了面向對象的程序設計(object oriented programming,OOP),需要設計出能支持面向對象的程序設計方法的新的語言。在實踐中,人們發現由於C語言是如此的深入人心,使用如此廣泛,面對程序設計方法的革命,最好的辦法不是另外發明一種語言去代替它,而是在它原有的基礎上加以發展。在這種形式下,C++應運而生。C++是由貝爾實驗室(AT&TBell)的Bjarne Stroustrup博士及其同事於20世紀80年代初在C語言的基礎上開發成功的。
AT&TBell發布的第一個Dev-C++編譯系統實際上是一個預編譯器(前端編譯器),真正的Dev-C++程序是在1988年誕生的。
C++中提供豐富的STL模板庫,不僅適合演算法競賽,同樣適合軟體開發。
② C語言的發展史
發展史:
C語言的祖先是BCPL語言。
1967年,劍橋大學的 Martin Richards 對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Pogramming Language)語言。
1970年,美國貝爾實驗室的 Ken Thompson。以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。
在1972年,美國貝爾實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。
為了使UNIX操作系統推廣,1977年Dennis M.Ritchie發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。
1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。
1990年,國際標准化組織ISO(International Organization for Standards)接受了89 ANSI C 為I SO C 的標准(ISO9899-1990)。
1994年,ISO修訂了C語言的標准。
1995年,ISO對C90做了一些修訂,即「1995基準增補1(ISO/IEC/9899/AMD1:1995)」。
1999年,ISO有對C語言標准進行修訂,在基本保留原來C語言特徵的基礎上,針對應該的需要,增加了一些功能,尤其是對C++中的一些功能,命名為ISO/IEC9899:1999。
2001年和2004年先後進行了兩次技術修正。
目前流行的C語言編譯系統大多是以ANSI C為基礎進行開發的,但不同版本的C編譯系統所實現的語言功能和語法規則有略有差別。
③ 編譯器一般由哪種語言開發
其實我在想為什麼匯編語言生成一個簡單的編譯器後,可以用新生成的編譯器再次生成編譯器,例如,C語言開發C的編譯器呢?
這是一個遞歸的思想,舉個例子一看就明白了
用一個大的模具可以生成一個A模具,A模具可以做出來B模具,依次往下推,最終這個小模具可以做出來小盒子用來裝東西。
第一個大模具肯定是手工做出來的第一個模具,但是有了這個大模具後,後面就可以用他自動的生成更多的模具,後面的各種模具加起來又可以造出來更精緻的模具,
所以,自動第一個大模具造出來模具的時候,大模具就可以被拋棄了。
我們都知道編譯程序通常分為下面五個階段:
1)詞法分析
2)語法分析
3)語義分析與中間代碼產生
4)優化
5)目標代碼生成
當然最難的一點就是目標代碼的生成,這一階段實現了最終的翻譯,就是真正把原碼翻譯成可以被CPU直接計算的機器碼(NativeCode)。
④ c語言是怎麼開發出來的
C語言的開發目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
以下是C語言的發展歷史,由此不難看出C語言的開發過程:
1967年,劍橋大學的Martin Richards對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Programming Language)語言。
20世紀60年代,美國AT&T公司貝爾實驗室(AT&T Bell Laboratory)的研究員Ken Thompson閑來無事,手癢難耐,想玩一個他自己編的,模擬在太陽系航行的電子游戲——Space Travel。他背著老闆,找到了台空閑的機器——PDP-7。但這台機器沒有操作系統,而游戲必須使用操作系統的一些功能,於是他著手為PDP-7開發操作系統。後來,這個操作系統被命名為——UNIX。
1970年,美國貝爾實驗室的 Ken Thompson,以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。
1971年,同樣酷愛Space Travel的Dennis M.Ritchie為了能早點兒玩上游戲,加入了Thompson的開發項目,合作開發UNIX。他的主要工作是改造B語言,使其更成熟。
1972年,美國貝爾實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。
⑤ 計算機體系結構國家重點實驗室(中國科學院計算技術研究所)的研究方向
計算機體系結構國家重點實驗室設立五個主要研究方向,即高端計算機體系結構和設計方法、微體系結構、編譯和編程、VLSI與容錯計算、非傳統計算機體系結構。圍繞五個研究方向,結合實驗室現有的基礎和未來的發展規劃,下設五個實驗室(先進計算機系統實驗室、微體系結構實驗室、編譯與編程實驗室、集成電路實驗室、並行演算法實驗室)和四個研究組(處理器設計研究組、操作系統研究組、存儲體系結構研究組、量子計算研究組)。
以計算機系統結構的學科優勢為依託,圍繞超並行計算機系統和多核處理器開展基礎研究和高技術前沿探索。主要研究方向包括:高性能計算機系統設計理論,微處理器設計的新原理、新結構和新方法。通過研究新型高性能計算機的體系結構,面向新型體系結構的模擬模擬、操作系統、應用建模和優化技術,高端處理器的微體系結構,跨平台多系統虛擬化技術、大規模片上多核並行處理器設計方法、可擴展可重構處理器設計方法,並行程序設計模型、語言、編譯,先進微處理器的代碼生成與優化,計算機體系結構及微體系結構可靠性設計,多核處理器的自測試、自診斷、自修復設計,VLSI測試和設計驗證方法,為高性能計算機系統和高性能處理器設計領域的發展持續提供創新方法和關鍵技術。解決本領域國家急待解決的重大關鍵問題,推動計算機系統結構學科的科技進步。