cat ss.c | wc -l 管道 前一條指令的輸出,作爲後一條指令wc的輸入
file ss.c
gcc -E 預編譯 頭文件include什麼的
-S 編譯 產生彙編代碼
-c 鏈接以前的都做了,即完成E S的工作以後然後生成.o 這種二進制模塊文件
as 彙編過程,assembler,將彙編代碼搞成二進制.o
gcc --help 兩個橫槓這種要記住,是用來看說明help的
gcc xx.o -o xx 即把.o進行鏈接了。 ./xx 執行該可執行文件,./ 表示當前文件夾目錄
寫makefile的時候
一種寫法:
CC=gcc
CFLAGS=-Wall
a: b.o a.o
這種寫法,通過依賴關係以及編譯器參數選擇,進行編譯、鏈接,但是要注意的鏈接而成的可執行文件a最好要與有main函數的模塊同名
如a 與 a.o同名
另一種寫法:
直接自己寫
test: b.o a.o
gcc b.o a.o -o test
test:標籤編譯b.o a.o,最後自己寫的這條command將a.o,b.o鏈接到一塊形成test可執行模塊
/usr/include 下有c的一些頭文件,包括 stdio.h stdlib.h等等
/usr/lib 下有libc.a libm.a等等庫,其中libc.a 就是c標準庫,gcc默認鏈接的,其他需要 -lm 這種方式指定鏈接
sudo apt-get install libglib2.0-dev
pkg-config --cflags glib-2.0