Linux C 程式開發與除錯

2021-09-02 15:33:37 字數 796 閱讀 2313

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...