gcc的头文件和共享库

gcc在进行编译预处理时,要在工具链默认的一些头文件目录中搜索头文件,这些目录一般包括 /usr/include  和 /usr/local/include(Linux的系统头文件一般存储在/usr/include 目录下,自己安装的软件的头文件一般存放在/usr/local/include目录下)。如果希望gcc能够到其他目录中查找头文件,则需要在参数上指定,如:
gcc  -I~/include  main.c     #  -I 参数用于增加头文件的查找目录

        如果在源码中使用了共享库中的函数,则目标文件就要与相应的共享库连接起来。gcc 默认会连接 C 共享库,因为它提供了基本的系统调用接口,几乎所有的程序都会使用它。如果要连接其它共享库则必须在参数上指定,例如:
gcc  -lpthread  main.c    #  -I 参数用于指定要连接的共享库
         pthread 是线程库,如果程序中用了线程相关函数,必须与这个库连接。要注意共享库的文件名一般是  lib*.so ,但在 -l 参数后面时不需要写全,编译器会自动将名字补全成文件名。
        链接共享库时 gcc 到默认的一些目录中查找,这些目录一般包括  /usr/lib 和  /lib 。如果要链接的共享库在其它目录中,需要 -L 参数指定,如:
gcc  -L~/src/sqlite3  -lsqlite3  main.c    #  -L 参数用于指定查找共享库的目录

注意: -L参数只是指明到哪里去找共享库,但gcc并不知道要链接哪个库,需要通过 -l 参数指明要链接的共享库名。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值