linux c 編譯 與除錯

2021-05-05 02:29:56 字數 1034 閱讀 2770

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.setfilepath("log.txt");

for(int i=0;i<50;i++)

log.log("adlkfjaldfjalsdf");

std::cout<<"safdadf"《編譯:

1 . g++ log.cpp main.cpp -o main  

這種編譯方法不能用於gdb除錯,要想除錯的加上 -g

g++ -g log.cpp main.cpp -o main

2.編譯通過 可以進行除錯(依次進行一下操作)

gdb main  //進入除錯狀態

break    6     //在main.cpp中的第6行設定斷點,

break  log.cpp:37 // 在log.cpp的37行設定斷點

run  執行

停止到斷點出 

print    變數       // 列印變數值

step   //單步執行,可進入到函式體內

next   //單步執行,但不可進入到函式體內

continue  //從斷點出繼續執行

3 makefile

main:main.o log.o

g++   -o main  main.o log.o  //前邊一定要有乙個tab鍵

log.o:log.cpp

g++  -c log.cpp -g log.cpp

main.o:main.cpp

g++  -c  main.cpp -g main.cpp

Linux C 程式開發與除錯

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

linux c的執行與除錯

一 執行 首先將 編譯成可執行的檔案 gcc 檔名.c 檢視已經編譯的檔案 ls 對檔案新增可執行許可權 chmod x 檔名.out 執行檔案 檔名.out 二 除錯 1.在編譯時在檔名後加 g 2.在使用命令gdb後加檔案進入除錯 我們可以使用以下命令除錯 b 設定斷點,後面可加行數 s 逐條執...

Chrome編譯與除錯

1.編譯問題 還有一部分是目錄放的不對,比如trunk deps third party裡的全部子目錄,應該放到trunk src third party裡,所以要將它們全部copy過去.b.編譯。編譯時出的主要問題 1.先覺條件沒有做。比如沒有安裝windows更新包,vs補丁包,等等,這一步可以...