一、gcc與g++編譯 *.c檔案與*.cpp檔案的方法
gcc: *.c:按c語法
g++:*.c: 按c++語法
*.cpp: 按c++語法
二、編譯與執行的流程
(1) 預編譯 :
c:gcc -e main.c -o main.i
(2) 編譯:
gcc -s main.i -o main.s
(3) 彙編:
gcc -c main.s -o main.o
gcc main.o -o main
gcc -o main main.c
內部具體流程可以看另一篇部落格——編譯鏈結過程
三、makefile 使用 管理工程 實現自動化編譯
示例:對 main.c add.c max.c 三個檔案進行編譯(注意: gcc 前面必須是 table 建縮排)
all main
main : main.o add.o max.o
gcc -o main main.o add.o max.o
main.o : main.c
gcc -c main.c
gdd.o : add.c
gcc -c add.c
max.o : max.c
gcc -c max.c
clean:
rm -rf *.o main
四、gdb除錯工具
除錯時使用的是 debug 版本,在 linux 上編譯時要加上 「-g」引數
gdb 命令:
命令意義
l顯示**
b加斷點
info break
顯示斷點資訊
p列印變數資訊
r執行程式 (在一次除錯中只能進行)
c繼續執行(遇到斷點停止)
s進入函式
finish
退出函式
bt函式呼叫棧關係
display
持續列印
strace
跟蹤系統呼叫
ltrace
跟蹤程式執行的庫函式
core gdb test core.pid
檔案除錯 (程式崩潰)
如何用gcc g 編譯並執行C C 程式
gcc命令用於c程式的編譯,而g 用於c 程式的編譯,有時可能g 沒有安裝,可以sudo aptitude install g 安裝完成之後就可以使用了。gcc sourc o target g sourc o target ps 在使用命令之前,最好確認一下gcc和g 的版本,讓它們的版本保持一致...
gcc g 編譯 wxwidgets的引數
簡單點 gcc編譯c程式,g 可編譯c和c 程式。a.可行的命令格式 1.g main.cpp o c.out wx config cflags libs 2.g wx config cflags main.cpp o a.out wx config libs g 或 gcc的引數格式好像為 g 搜...
gcc g 編譯的那些事
嚴重宣告 本帖絕非技術貼,只是在g 編譯時遇到些百思不得其解的錯誤,而且這種錯誤應該很少人犯,寫下來僅供你實在找不錯出錯地方時的 柳暗花明又一村 我在編譯時總是提示 cprocessmodule.cpp中68行乙個變數 o typename 未宣告 注 cprocessmodule.cpp在src目...