gcc编译
gcc main.c -o main.out //编译成指定的名字
gcc main.c -o ./out/main.out //编译成指定名字并保存到已存在文件夹,必须存在,不然报错
gcc链接库
gcc在链接库时主要有三种方式:
1、默认情况
默认情况下,gcc在编译时:
头文件搜索目录为:/uer/include ---> /usr/local/include
库文件搜索目录为:/usr/lib ----> /usr/local/lib
默认链接的库文件:libc.a或者libc.so
例如math.h头文件,他在库文件libm.a中,因此需要额外第三方链接-lm
2、-I
指定头文件的搜索路径
-I /home/myinclude/
表示/home/myinclude为寻找头文件的目录。
寻找顺序为 /home/myinclude/ —>/uer/include —> /usr/local/include
3、-L
指定库文件的搜索路径
-L /home/lib
表示/home/lib为寻找库文件的目录。
寻找顺序为 /home/lib/ —>/usr/lib ----> /usr/local/lib
4、-l
指定需要链接的库文件
-lm
表示链接的库文件名为libm.a
-l后面直接加的就是库名。对于库文件.a文件来说,命名方式是libname.a,我们在连接时只需要name即可。也就是-lname.
需要注意的是,如果-L指定了库文件的搜索路径,那么这个库文件就会首先在-L指定的路径中搜索。
如果没有指定,则按默认路径/usr/lib ----> /usr/local/lib搜索。