gcc -c a.c 编译成目标文件a.o
gcc -o a a.o 生成执行文件a.exe
gcc a.c 生成执行文件a.exe
gcc -o a -c a.c 编译成目标文件a
gcc -o a a.c 生成执行文件a.exe
在a.c中引用test.c中的一个函数后:
gcc -c test.c 编译成目标文件test.o
gcc -c a.c 编译成目标文件a.o
gcc -o a test.o a.o 生成执行文件a.exe
gcc -o a test.o a.c 生成执行文件a.exe
gcc -o a test.c a.c 生成执行文件a.exe
gcc -o a test.o a.c 生成执行文件a.exe
总结:只要参数中有-c,总是生成目标文件;只要参数中无-c而只有-o,则总是生成执行文件。