编译生成可执行文件(bin文件):
gcc test.c //默认生成可执行文件名为a.out
指定可执行文件名:
gcc -o test test.c
编译生成目标文件(.o文件):
gcc -c -fPIC -o test.o test.c // -fPIC是编译为动态库的必要参数,当目标文件不是用于生成动态库文件时可以不加此参数
编译时根据操作环境给予优化执行速度:
gcc -O -c test.c
利用目标文件生成动态库文件(.so文件)
gcc -shared -o libtest.so test.o
调用外部函数库,加入链接的函数库:
gcc test.c -lm -L/lib -L/usr/lib -I/usr/include
- -lm:加入某个函数库的意思;
- m:表示libm.so这个函数库,其中lib与.so不用写
- -L:指定函数库存放路径,/lib 和 /usr/lib 是默认的,可以不用写
- -I:指定源码中include包含的头文件存放的目录,/usr/include 是默认的,可以不用写