使用gcc时头文件路径和动态链接库路径

本文详细阐述了在使用gcc编译时,头文件的搜索路径,包括-I选项、<>和""包含头文件的搜索规则,以及编译时动态库的搜索路径。同时,还介绍了运行可执行文件时动态库的搜索顺序,包括-L、-Wl,rpath、LD_LIBRARY_PATH等影响因素。掌握这些知识能有效解决gcc编译和运行时的头文件找不到或动态库缺失问题。" 137498207,20011709,易宝OA系统SQL注入漏洞复现与防护,"['web安全', '漏洞复现', '数据库安全']
摘要由CSDN通过智能技术生成

    在使用gcc编译连接生成可执行文件时,经常会碰到变量未定义、链接时或者运行可执行文件时找不到相应的动态库等问题,本文首先介绍了gcc在编译时头文件路径相关选项以及搜索路径顺序,然后讨论了编译成可执行文件时动态库的搜索路径顺序,最后说明了生成可执行文件后,运行文件时动态库的搜索路径顺序。搞清楚这三个搜索路径,在用gcc碰到的未定义变量或搜索不到动态库的问题,基本上都可以解决了。

头文件路径编译时相关选项
    gcc可以使用选项-I(注意是大写)来指定头文件搜索路径,即头文件所在的文件夹。指定的路径即可以是绝对路径也可以是相对路径。比如当前路径下有文件hello.c和include/testhead.h,则有两种方法访问这个头文件:
   hello.c中#include "include/testhead.h"直接指定头文件的路径,然后可以直接编译不需要选项-I了,即gcc hello.c。
   hello.c中#include "testhead.h",在编译时使用:gcc -I include hello.c或者gcc -I ./include hello.c,在编译选项中指定头文件的路径。
另外选项-nostdinc使编译器不再系统缺省的头文件目录里面找头文件,一般和-I联合使用,明确限定头文件的位置。

两种不类型的头文件

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值