国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

C/C++程序編譯流程

發布時間:2016-4-17 16:23    發布者:huangedu
關鍵詞: c語言 , C++ , 嵌入式
1.預處理
預處理相當于根據預處理指令組裝新的C/C++程序。經過預處理,會產生一個沒有宏定義,沒有條件編譯指令,沒有特殊符號的輸出文件,這個文件的含義同原本的文件無異,只是內容上有所不同。
讀取C/C++源程序,對其中的偽指令(以#開頭的指令)進行處理
   ①將所有的“#define”刪除,并且展開所有的宏定義
  ②處理所有的條件編譯指令,如:“#if”、“#ifdef”、“#elif”、“#else”、“endif”等。這些偽指令的引入使得程序員可以通過定義不同的宏來決定編譯程序對哪些代碼進行處理。預編譯程序將根據有關的文件,將那些不必要的代碼過濾掉。
    ③處理“#include”預編譯指令,將被包含的文件插入到該預編譯指令的位置。
(注意:這個過程可能是遞歸進行的,也就是說被包含的文件可能還包含其他文件)
刪除所有的注釋
添加行號和文件名標識。
以便于編譯時編譯器產生調試用的行號信息及用于編譯時產生的編譯錯誤或警告時能夠顯示行號
保留所有的#pragma編譯器指令
2. 編譯
將預處理完的文件進行一系列詞法分析、語法分析、語義分析及優化后,產生相應的匯編代碼文件。
3. 匯編
將編譯完的匯編代碼文件翻譯成機器指令,并生成可重定位目標程序的.o文件,該文件為二進制文件,字節編碼是機器指令。
匯編器是將匯編代碼轉變成機器可以執行的指令,每一個匯編語句幾乎都對應一條機器指令。所以匯編器的匯編過程相對于編譯器來講比較簡單,它沒有復雜的語法,也沒有語義,也不需要做指令優化,只是根據匯編指令和機器指令的對照表一一翻譯即可。
4. 鏈接
通過鏈接器將一個個目標文件(或許還會有庫文件)鏈接在一起生成一個完整的可執行程序。
    由匯編程序生成的目標文件并不能立即就被執行,其中可能還有許多沒有解決的問題。
例如,某個源文件中的函數可能引用了另一個源文件中定義的某個符號(如變量或者函數調用等);在程序中可能調用了某個庫文件中的函數,等等。所有的這些問題,都需要經鏈接程序的處理方能得以解決。
    鏈接程序的主要工作就是將有關的目標文件彼此相連接,也就是將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的這些目標文件成為一個能夠被操作系統裝入執行的統一整體。
至此,大致經過這幾個步驟,一個完整的可執行程序產生了。
本文地址:http://www.qingdxww.cn/thread-165310-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • PIC18-Q71系列MCU概述
  • 無線充電基礎知識及應用培訓教程2
  • 5分鐘詳解定時器/計數器E和波形擴展!
  • 無線充電基礎知識及應用培訓教程3
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 999精品久久久中文字幕蜜桃 | 欧美视频一区二区三区 | 五月天啪啪 | 波多野结衣四虎精品影库 | 中国精品久久精品三级 | 亚洲国产va| 欧美一区二区三区精品影视 | 国产精品12p | 黄色成人在线观看 | 污污的网站在线免费观看 | 免费播放的美国大片 | 综合亚洲欧美日韩一区二区 | 女仆胸大又放荡的h | 久久久精品免费 | 亚洲欧美国产日本 | 国产高清在线精品一区在线 | 在线国产视频一区 | 4hu四虎永久地址 | 99精品视频在线 | 亚洲国产日韩在线人高清不卡 | 欧美一区二区三区综合色视频 | 四虎永久网址在线观看 | 日韩在线手机看片免费看 | 国产成人尤物精品一区 | 亚洲人jizz | 欧美特黄视频在线观看 | 99国产高清久久久久久网站 | 一级做a爰片性色毛片视频图片 | 日韩免费精品一级毛片 | 97狠狠干 | 欧美国产亚洲一区 | 婷婷久久综合九色综合绿巨人 | 最新在线精品国自拍视频 | 一区二三区国产 | 在线观看免费小视频 | 91精品在线免费 | 国产日韩欧美一区二区 | 一级片免费网址 | 欧美一区二区三区播放 | 国产亚洲欧美一区二区三区 | www.日本色 |