由foo1.c foo2.c foo3.c 3個源文件組成的源程序生成最終的可執行程序foo的命令:
gcc foo1.c foo2.c foo3.c -o foo
如果處理的源文件不止一個,則gcc會依次對每個文件進行預處理、編譯、匯編,最后將所有的目標代碼和庫文件進行,鏈接生成可執行程序。即等價于以下步驟:
gcc -c foo1.c -o foo1.o
gcc -c foo2.c -o foo2.o
gcc -c foo3.c -o foo3.o
gcc foo1.o foo2.o foo3.o -o foo
當一個工程包含許多源文件時,采用這種方式(僅用一個gcc命令)來對每個源文件進行編譯是非常浪費時間的。另外,如果其中一個文件進行了修改,則需要對所有的文件進行重新編譯,顯然這是不必要的。因此靈活使用gcc和make是非常重要的。