編譯的基本步驟

2021-07-27 19:06:06 字數 858 閱讀 3355

在筆者身邊(普通二本學校)所接觸的搞it的人士,很少有學習或者了解過編譯原理的人。竊以為原因有兩點:一是所從事的領域多數為頂層開發,學習演算法都頭疼的夠嗆了;二是學習氛圍相對較差,沒有開設相應的課程。(突然想起了一則笑話,說:一男上非誠勿擾,當女嘉賓們得知他是程式設計師後,一陣「咚嗡」,就沒有然後了。)編譯器對於筆者來說一直是乙個很神奇的東西,它能幫我們「傳達」我們想要告訴計算器的訊息,也間接地讓程式設計師的隊伍日益壯大!所以不了解了解,真心覺得對不起老一輩程式設計師們如藝術品般的程式。

在學習中記錄思考,總是好的,那麼開始第一套「常規體操」訓練!

毫無疑問的是編譯器的本質是程式指令的集合,它能將人用高階語言(相對於機器語言,對於彙編的編譯,就叫彙編)編寫的源程式對映為在語義上和功能上等價的目標程式。而整個對映過程分為分析部分綜合部分,分析部分常稱作編譯器的前端(front end),綜合部分則叫做編譯器的後端(back end)。

前端包含詞法分析語法分析語義分析中間**生成,後端則是**優化器**生成器。在分析過程中還會收集源程式的相關資訊,並存入乙個叫做符號表的資料結構(類似於字典),比如程式中變數的型別、變數名字之類的。符號表將和中間**一起傳送給綜合部分。

第一章節的大概筆記,其中涉及的各方面知識只是如蜻蜓點水一般的提了一下,那麼筆者的心思就不言而喻了:想揭開編譯器的神秘面紗?想欣賞她的曼妙身姿?想知道你和她又會有怎樣的愛恨情仇?又有怎樣的剪不斷理還亂的牽絆?請翻開紫龍書,開啟這一神秘的大門!(可以打臉,^_^)

編譯鏈結的基本步驟

因為現在的開發環境都是整合開發環境,所以我們很少需要關注一段 在計算機中編譯鏈結的過程。但是事實上,通常一段 需要四個步驟才能完成從編譯到鏈結的過程,分別是預處理,編譯,彙編和鏈結。預處理編譯過程主要處理源 中以 開始的預編譯指令。比如 include define 等,主要處理如下 1.將所有 d...

編譯安裝的基本步驟

編譯安裝的基本步驟,本筆記以httpd 2.4.29為例加以說明 rpm ql httpd 可以檢查已安裝應用的檔案路徑 rpm qi httpd 可以檢視安裝應用的版本等資訊,同理可使用yum 的yum info httpd 來顯示 第二步 解壓縮檔案使用命令tar xvf httpd 2.4.2...

Ubutnu 編譯核心基本步驟

在一台機器上安裝ubutnu系統,安裝完成以後可以在終端輸入 uname r 檢視核心版本。為編譯核心安裝所依賴的庫,在終端輸入命令 sudo apt get install build essential kernel package libncurses5 dev 可能會出現依賴關係要解決輸入 ...