1、理解库函数
库函数有头文件和库文件(so 或者 a)的集合
1)头文件的默认目录
/usr/include
2)库文件的默认目录
/user/lib
3)linux的库文件分为动态连接库(.so)和静态连接库(.a)
他们之间的差距在于程序执行时所需代码是运行时加载的,海山编译是静态加载的,默认情况下,gcc在链接时优先使用动态链接库
2、用 -I 编译不是默认路径的头文件
such as: 我们有个头文件路径,/usr/chenyu/include ,编译命令如下
gcc -I /usr/chenyu/include hello.c -o hello
3、用-L编译不是默认路径的库文件(动态连接库)
such as: 我们有个库文件路径/user/chenyu/lib 下有个libhello.so文件的编译命令如下(libhello.so可以简写成lhello)
gcc -L /usr/chenyu/lib -lhello -o hello
4、用-static 编译不是默认路径的库文件(静态连接库)
such as: 我们有个库文件路径/user/chenyu/lib 下有个libhello.a文件的编译命令如下(libhello.a可以简写成lhello)
gcc -L /usr/chenyu/lib -tatic -lhello -o hello
5、同时编译多个源程序
比如文件hello1.c、hello2.c、hello3.c,编译命令如下
gcc hello1.c hello2.c hello3.c -o hello
6、用管道-pipe优化编译
如果源程序很多,有100多个,我们用gcc编译了一次,但是修改其中的一个文件再去编译,这个时候会重新编译,会浪费时间,我们可以用-pipe命令来优化,但是会消耗内存大点
gcc -pipe hello.c -o hello