GCC 概述 C 語言編譯過程詳解

2022-07-26 16:00:15 字數 1075 閱讀 8807

tags:c

description:關於 gcc 的個人筆記

對於 gcc 6.1 以及之後的版本,預設使用的 c++ 標準是 c++ 14;使用 -std=c++11 來指定使用哪乙個標準

將源**編譯為可執行程式的流程

g++ 編譯時使用 c++ 的標準庫,而 gcc 預設使用 c 的標準庫,g++ 等價於 gcc -xc++ -lstdc++ -shared-libgcc

linux 下可以使用 man gcc 命令檢視幫助手冊

windows 下安裝 mingw 即可

gcc version 7.4.0 (gcc)

預處理(pre-processing):cpp hello.c > hello.i,將引入的標頭檔案(#include)和定義的巨集(#define)擴充套件到**中

編譯(compilation):gcc -s hello.i,將預處理過的檔案編譯成匯程式設計序

彙編(assembly):as -o hello.o hello.s,將匯程式設計序轉換成目標檔案,二進位制格式,每乙個原始檔都需要產生乙個目標檔案

--version 檢視版本

-v verbose(冗長的),輸出編譯的詳細資訊

-std 指定標準

-o 指定輸出檔案的名稱

-wall 輸出所有的警告資訊

-c 只將原始檔編譯為 object 檔案(*.o),而不進行鏈結,之後可以使用gcc -o myprog.exe file1.o file2.o將多個 object 檔案連線成可執行檔案

-shared 編譯為共享庫(.dll,.so)

-s 編譯為彙編**

gcc and make: compiling, linking and building

quickie intro to gcc

本文亦發布在:概述:c-語言編譯過程詳解

C語言編譯過程詳解

編譯的概念 編譯程式讀取源程式 字元流 對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編 再由匯程式設計序轉換為機器語言,並且按照作業系統對可執行檔案格式的要求鏈結生成可執行程式。編譯的完整過程 c源程式 預編譯處理 i 編譯 優化程式 s asm 匯程式設計序 obj o a ko 鏈...

c語言編譯過程詳解

c語言的編譯鏈結過程要把我們編寫的乙個c程式 源 轉換成可以在硬體上執行的程式 可執行 需要進行編譯和鏈結。編譯就是把文字形式源 翻譯為機器語言形式的目標檔案的過程。鏈結是把目標檔案 作業系統的啟動 和用到的庫檔案進行組織形成最終生成可執行 的過程。過程 如下 編譯過程 一 編譯過程 編譯過程又可以...

c語言編譯過程詳解

c語言的編譯鏈結過程要把我們編寫的乙個 c程式 源 轉換成可以在硬體上執行的程式 可執行 需要進行編譯和鏈結。編譯就是把文字形式源 翻譯為機器語言形式的目標檔案的過程。鏈結是把目標檔案 作業系統的啟動 和用到的庫檔案進行組織形成最終生成可執行 的過程。過程 如下 編譯過程 一 編譯過程 編譯過程又可...