當前位置:首頁 » 編程軟體 » 簡介一個編譯系統

簡介一個編譯系統

發布時間: 2022-04-22 12:27:41

A. 什麼是編譯程序

編譯程序指將某一種程序設計語言寫的程序翻譯成等價的另一種語言的程序的程序, 稱之為編譯程序

編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。

它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

編譯程序的實現演算法較為復雜,這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系,同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。

由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。

(1)簡介一個編譯系統擴展閱讀:

編譯流程分為了四個步驟:

1.預處理,生成預編譯文件(.文件)

2.編譯,生成匯編代碼(.s文件)

3.匯編,生成目標文件(.o文件)

4.鏈接,生成可執行文件

B. c語言編譯系統哪個比較好用

下載GCC
MinGW是Minimalistic
GNU
for
Windows
的縮寫。她是一個建立在GCC和binutils
項目上的編譯器系統。和其他GCC的移植版相比,她可以說是最接近Win32的一個了。因為,MinGW幾乎支持所有的Win32API,這也是MinGW的特色之一。她所連接的程序,不需要任何第三方庫就可以運行了。在某種程度上看,MinGW更像是VC的替代品。
獲得與安裝
MinGW可以從MinGW的官方網站
http://www.mingw.org
上獲得。
如果,你要安裝MinGW,那麼你有兩種安裝方案。
安裝方案一:
首先,你要從
http://www.mingw.org/download.shtml
上下載如下幾個壓縮包。
gcc-core
C語言編譯器
gcc-c++
C++語言編譯器
mingw-runtime
MinGW的運行時庫(這個必須安裝)
win32api
win32的API函數頭文件和連接庫
binutils
MinGW的匯編器和連接器等基礎工具
gdb
MinGW中的調試工具
mingw32-make
Make工具,用以更好的管理你的項目
然後,將上述文件逐一下載,然後全部解壓縮到一個目錄下就可以了,我這里假設你是移動到$(MINGW)這個目錄下了。這樣,你的MinGW就算安裝成功了。
最後到DOS終端上,將當前目錄轉換成
$(MINGW)/bin
下。輸入C:\>gcc
-v
看到一段gcc的版本信息,這就能說明,你的gcc已經可以正常工作了。

C. C語言編譯系統

推薦用WinTC,然後在程序結束時加上getch();
系統可以利用getch()函數讓程序調試運行結束後
等待編程者按下鍵盤才返回編輯界面
如:
#include<stdio.h>
main()
{
printf("Welcome to Use WinTC\n");
getch();
}

D. 編譯系統的編譯系統CMake

CMake就像是我們在uni上使用的make一樣,是用來管理怎樣編譯一個project的。它的好處是:
1) 跨越多個操作系統平台,包括當前應用最廣泛的windows,unix(包括Mac OS X).
2) 採用BSD風格的協議開放源代碼。據我個人閱讀協議文件,沒發現協議與兩句BSD協議有什麼不同。
3) 它可以支持具有非常復雜的路徑、庫依賴的程序的編譯。比如它支持編譯個程序:它依賴於很多的庫以及其它一些代碼文件,而每一個庫又有很多子目錄。。。
4) 像很多Make一樣,它會對曾經編譯的文件做一些cache一遍加速以後的編譯。
使用這個編譯系統的時候,需要每個目錄/子目錄創建一個名為CMakeLists.txt的文件。
這個項目歷史也算是比較悠久了,從2000年就開始了。
當前使用這個編譯系統的項目:llvm/clang。。。
我就是從clang的源代碼里發現的,郵件列表裡有人推薦使用cmake,不要使用msvc的.sln文件

E. C語言的各類編譯系統的特點

你是不是問的各類編譯器??如果是編譯器的話請往下看,不是的話請忽略,工中號一匹大懶蟲


C語言編譯器目前主要有VC++、dev-C++、C-Free、win-TC、TC 2.0等等。

其中比較經典的VC++,微軟的產品,編譯器,鏈接器,運行,調試等功能於一體的強大開發工具,特點是功能十分強大,對於新手來說需要一段時間去摸索。

dev-C++是windows下一款開發c/c++的開發環境,使用gcc為編譯器,遵循標准,功能比較強大,語法高量,可以進行單步調試(這對排除錯誤很重要),進行斷點設置等功能,遵循C標准,是一款很強大的開發工具。

C-Free是一款支持多種編譯器的專業化C/C++集成開發環境(IDE)。利用C-Free,使用者可以輕松地編輯、編譯、連接、運行、調試C/C++程序。

TC 2.0:Borland公司的產品,在dos界面下編譯運行,小巧、靈活,但是不能使用滑鼠。

win-TC:在tc2.0的基礎上加上了界面,能夠使用滑鼠,具有語法高量,可以嵌入匯編等特點,對新手一些,拜託了不能用滑鼠的困難。

編譯器,簡單講,就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) 預處理器 (preprocessor) 編譯器 (compiler) 目標代碼 (object code) 鏈接器(Linker) 可執行程序 (executables)。

F. 什麼叫自動編譯系統。 要求:能支持VC6、VC2008和VC2010的工程自動編譯。最好介紹一種編寫的腳本~~

不知道你想干什麼,但是如果你想做個編譯腳本,可以參考編譯器的相關參數,對於微軟的開發工具,通常在MSDN中能找到相關編譯命令的說明。你可以通過調用這些編譯命令實現你對指定工程的編譯處理。但前題是你的系統存在相關開發工具的編譯命令運行環境。

G. 怎樣做一個基於c#的在線編譯系統

#include<stdio.h> void move(char x,char y) { printf("%c-->%c\n",x,y); } void hanoi(int n,char one ,char two,char three) { if(n==1) move(one,three); else { hanoi(n-1,one,three,two); move(one,three); hanoi(n-1,two,one,three); } } main() { int m; printf("input the number of disks:"); scanf("%d",&m); printf("the step to moving %3d diskes:\n",m); hanoi(m,'A','B','C'); } 演算法介紹: 其實演算法非常簡單,當盤子的個數為n時,移動的次數應等於2^n – 1(有興趣的可以自己證明試試看)。後來一位美國學者發現一種出人意料的簡單方法,只要輪流進行兩步操作就可以了。首先把三根柱子按順序排成品字型,把所有的圓盤按從大到小的順序放在柱子A上,根據圓盤的數量確定柱子的排放順序:若n為偶數,按順時針方向依次擺放 A B C; 若n為奇數,按順時針方向依次擺放 A C B。 (1)按順時針方向把圓盤1從現在的柱子移動到下一根柱子,即當n為偶數時,若圓盤1在柱子A,則把它移動到B;若圓盤1在柱子B,則把它移動到C;若圓盤1在柱子C,則把它移動到A。 (2)接著,把另外兩根柱子上可以移動的圓盤移動到新的柱子上。即把非空柱子上的圓盤移動到空柱子上,當兩根柱子都非空時,移動較小的圓盤。這一步沒有明確規定移動哪個圓盤,你可能以為會有多種可能性,其實不然,可實施的行動是唯一的。 (3)反復進行(1)(2)操作,最後就能按規定完成漢諾塔的移動。 所以結果非常簡單,就是按照移動規則向一個方向移動金片: 如3階漢諾塔的移動:A→C,A→B,C→B,A→C,B→A,B→C,A→C 漢諾塔問題也是程序設計中的經典遞歸問題,下面我們將給出遞歸和非遞歸的不同實現源代碼。

H. 一個典型的編譯系統通常由哪些部分組成

編譯系統又稱為第二類編程環境開發者根據語言的規定編寫源程序,然後進行編譯、連接,生成可執行文件,例如DOS操作系統加各類高級語言,如FORTRAN、PASCLL、C語言等就屬於這種類型介面平台,用於提供編譯任務輸入介面以及處理狀態信息輸出介面,並根據輸入的編譯任務生成任務名;編譯伺服器,用於解析所述任務名,獲得相應的源代碼,並進行編譯,同時產生所述編譯任務的處理狀態信息提供給所述介面平台。 接收輸入的編譯任務; 根據所述編譯任務生成任務名; 解析獲得所述任務名對應的源代碼; 所述源代碼,並輸出所述編譯任務的處理狀態信息; 處理狀態信息,通過介面平台實時提供給客戶端,簡化了編譯監控操作,大大節約了人力資源。

I. c語言編譯系統有哪些及其特點

C 語言特點
C語言是一種成功的系統描述語言,用C語言開發的UNIX操作系統就是一個成功的範例;同時C語言又是一種通用的程序設計語言,在國際上廣泛流行。世界上很多著名的計算公司都成功的開發了不同版本的C語言,很多優秀的應用程序也都使用C語言開發的,它是一種很有發展前途的高級程序設計語言。 1. C是中級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作, 而這三者是計算機最基本的工作單元。 2.C是結構式語言。結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。 3.C語言功能齊全。具有各種各樣的數據類型,並引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現決策目的的游戲。 c語言
4. C語言適用范圍大。適合於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。 C語言對編寫需要硬體進行操作的場合,明顯優於其它解釋型高級語言,有一些大型應用軟體也是用C語言編寫的。 C語言具有較好的可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫。它是數值計算的高級語言。 常用的C語言IDE(集成開發環境)有Microsoft Visual C++,Dev-C++,Code::Blocks,Borland C++,Watcom C++,Borland C++ Builder,GNU DJGPP C++,Lccwin32 C Compiler 3.1,High C,Turbo C,C-Free,win-tc 等等…… c語言的學習 對於一個初學者,Microsoft Visual C++是一個比較好的軟體。界面友好,功能強大,調試也很方便。這是微軟出的一個C語言集成開發環境(IDE),主要有:VC++6.0、VS2005、VS2008、VS2010等,分為企業版和學生版等。對於初學者VC++6.0是比較容易上手的,但由於其對標准支持的不好可能使人養成不良編程習慣,因此論壇上也有人主張舍棄VC++6.0。 在unix/linux操作系統上,學習c語言一般使用vim/emacx來編輯源文件,使用gcc/cc來編譯源文件,使用make程序來管理編譯過程。
編輯本段發展歷史
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語言。同時由B.W.Kernighan和D.M.Ritchie合著 c語言程序設計
了著名的《The C Programming Language》一書。通常簡稱為《K&R》,也有人稱之為《K&R》標准。但是,在《K&R》中並沒有定義一個完整的標准C語言,後來由美國國家標准化協會(American National Standards Institute)在此基礎上制定了一個C語言標准,於一九八三年發表。通常稱之為ANSI C。 K&R第一版在很多語言細節上也不夠精確,對於pcc這個「參照編譯器」來說,它日益顯得不切實際;K&R甚至沒有很好表達它所要描述的語言,把後續擴展扔到了一邊。最後,C在早期項目中的使用受商業和政府合同支配,它意味著一個認可的正式標準是重要的。因此(在M. D. McIlroy的催促下),ANSI於1983年夏天,在CBEMA的領導下建立了X3J11委員會,目的是產生一個C標准。X3J11在1989年末提出了一個他們的報告[ANSI 89],後來這個標准被ISO接受為ISO/IEC 9899-1990。 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編譯系統所實現的語言功能和語法規則有略有差別。

熱點內容
愛拍如何傳送圖片到安卓手機 發布:2025-04-04 03:52:46 瀏覽:73
阿里雲伺服器鏡像選擇 發布:2025-04-04 03:31:43 瀏覽:827
相機無法訪問sd卡 發布:2025-04-04 03:31:01 瀏覽:500
星火英語密碼是多少 發布:2025-04-04 03:30:48 瀏覽:198
pagerank演算法的原理 發布:2025-04-04 03:27:04 瀏覽:784
手機優酷緩存助手 發布:2025-04-04 03:26:52 瀏覽:923
linux如何修改ip地址 發布:2025-04-04 03:08:04 瀏覽:526
手機熱點ftp只讀 發布:2025-04-04 03:08:00 瀏覽:350
拆下來的安卓導航在家怎麼啟動 發布:2025-04-04 03:05:06 瀏覽:171
編譯產生目標文件 發布:2025-04-04 03:02:39 瀏覽:838