linux、mac下使用的編譯器是不同的。
linux下使用的是gcc編譯器。
mac下使用的是clang編譯器。
命令格式都是相通的。
編譯命令的基本格式:
-g會在輸出檔案裡可以增加除錯資訊,編譯出的程式在執行過程**現的問題就可以用偵錯程式進行單步除錯。
-o實際是指令優化的級別。預設-o1是不對指令優化,所以除錯過程中每步定義的臨時變數是可以顯示出來的。
-o2就會優化,按照它自己的理解讓程式執行的更快。
而-o就是輸出可執行程式的名字是什麼。
-i 是使用第三方庫或自己寫的標頭檔案放在其他目錄下,需要指定-i讓編譯器去**找標頭檔案。
-l指定的是第三方庫的檔案的位置。
-l代表具體使用哪個庫。
生成庫,mac上用libtool:
例如生成靜態庫
標準命名:lib+自定義名
linux下:gdb
mac下:lldb
原理:
對於搭建編譯環境,可用docker pull下gcc進行編譯。
Linux GCC G 編譯器與偵錯程式
安裝 yum install gcc gcc c linux gcc g 編譯器與偵錯程式 gcc g 編譯選項 在 linux 系統中,使用者建立程序時會先在系統的程序表中為程序建立獨一無二的編碼,即 pid。pid 是乙個正整數,其取值範圍是 2 32768。程序建立時會順序挑選下乙個未使用的編...
GCC編譯器和GDB偵錯程式
gcc gnu compiler collection 是目前linux下最常用的c語言編譯器,它是gnu專案中符合ansi c標準的編譯系統,可以在多種硬體平台上編譯出可執行程式的超級編譯器,執行效率與一般的編譯器相比平均效率要高20 30 在終端中輸入下列命令 gcc options filen...
gcc編譯器和gdb偵錯程式
將高階語言 c語言 程式編譯成為機器可識別的指令 編譯過程 預處理 去掉注釋,展開所有 編譯 語義 語法糾錯,將 解釋成為彙編 彙編 將彙編 解釋成為機器指令 連線 鏈結 庫以及所有的目標檔案,生成可執行程式 庫檔案 大佬實現一些常用的功能介面,為了防止每次編譯耗費大量時間,因此將這些介面 進行編譯...