cc -o test test.c
等价于
cc test.c -o test
1.生成预编译文件:编译头文件和ifndef、ifdefine,生成*.i文件,可以进行查看
gcc -E test.c -o test.i
2.生成汇编文件:将预编译文件生成*.s汇编文件
gcc -S test.i -o test.s
等价于:gcc -s test.c -o test.s
3.生成目标文件:将汇编文件生成*.o文件
gcc -c test.c -o test.o
4.生成静态文件:将test1.o、test2.o目标文件生成静态文件,静态库是*.o的集合
gcc -r libtest.a test1.o test2.o
5:生成可执行文件:将静态库和源文件进行链接生成可执行文件
gcc test.c libtest.a -o test
等价于
gcc test.c -ltest.a -o test
6.生成共享库文件
gcc test.c -fpic -shared -o libtest.so
生成可执行文件
gcc test.c libtest.so -o test
如果找不到libtest.so 则,export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./