g++ 與 gcc的關係:
linux的gcc和g++的區別
用gcc編譯c++檔案
anyway,還是用g++吧
假設有乙個原始檔為main.cc
#include int main(int args, char** argv){
std::cout<
-e 表示預處理完就結束
源**共五行
預處理完
g++ -s hello.ii
-s 表示停到編譯結束。將預處理過程生成的.i字尾的檔案轉化成彙編檔案,裡面儲存的是相應的彙編**,這個過程叫做編譯。
會生成hello.s
g++ -c hello.s -o hello.o
將彙編檔案中的彙編**翻譯成相應的機器語言,這個過程叫做彙編。.o是gcc生成的目標檔案,除非你是做編譯器和聯結器除錯開發的,否則開啟這種.o沒有任何意義。二進位制機器碼一般人也讀不了。
g++ hello.o -o hello
完成鏈結這個過程,它通過鏈結器ld將執行程式的目標檔案和庫檔案鏈結在一起,生成最後的可執行檔案
將上面的過程一氣呵成,可以用
g++ hello.cc -o hello
g++ -std=c++11 ***
用gdb除錯程式
gdb 除錯利器
gdb
program也就是你的執行檔案,一般在當前目錄下。 linux c 編譯 與除錯
log.h ifndef log h.h define log h.h include include class cllog endif log.cpp main.cpp include log.h include int main int i 8 int j i cllog log log.se...
linux c的執行與除錯
一 執行 首先將 編譯成可執行的檔案 gcc 檔名.c 檢視已經編譯的檔案 ls 對檔案新增可執行許可權 chmod x 檔名.out 執行檔案 檔名.out 二 除錯 1.在編譯時在檔名後加 g 2.在使用命令gdb後加檔案進入除錯 我們可以使用以下命令除錯 b 設定斷點,後面可加行數 s 逐條執...
linux c 小程式 gdb除錯命令 例子
1 除錯函式的一系列命令,源 如下main.c include int add range int low,int high int main void 結果為55 5015 與正確結果不同,除錯如下 1步驟 gcc g main.c o main linux下c原始檔編譯 含有源 可以除錯 gdb...