头文件及库搜索路径

头文件的搜索路径:

头文件的搜索规则是:找到就使用,停止继续往下寻找

1:  #include “mytest.h”

搜索的顺序为:

  (1)先搜索当前目录

  (2)然后搜索编译时 -I 指定的目录

  (3)在搜索gcc的环境变量CPLUS_INCLUDE_PATH

  (4)最后搜索gcc内定的目录

  /usr/include

[root@centos-64-min include]# ls /usr/include/
aio.h ftw.h neteconet stab.h
aliases.h _G_config.h netinet stdint.h
alloca.h gconv.h netipx stdio_ext.h
a.out.h getopt.h netiucv stdio.h
argp.h glob.h netpacket stdlib.h
argz.h gnu netrom string.h
ar.h gnu-versions.h netrose strings.h
arpa grp.h nfs sys
asm gshadow.h nl_types.h syscall.h
asm-generic iconv.h nss.h sysexits.h
assert.h ieee754.h obstack.h syslog.h
bits ifaddrs.h paths.h tar.h
byteswap.h inttypes.h poll.h termio.h
c++ langinfo.h printf.h termios.h
complex.h lastlog.h protocols tgmath.h
cpio.h libgen.h pthread.h thread_db.h
crypt.h libintl.h pty.h time.h
ctype.h libio.h pwd.h ttyent.h
dirent.h limits.h python2.6 ucontext.h
dlfcn.h link.h rdma ulimit.h
drm linux re_comp.h unistd.h
elf.h locale.h regex.h ustat.h
endian.h malloc.h regexp.h utime.h
envz.h math.h resolv.h utmp.h
err.h mcheck.h rpc utmpx.h
errno.h memory.h rpcsvc values.h
error.h mntent.h sched.h video
execinfo.h monetary.h scsi wait.h
fcntl.h mqueue.h search.h wchar.h
features.h mtd semaphore.h wctype.h
fenv.h net setjmp.h wordexp.h
fmtmsg.h netapi.h sgtty.h xen
fnmatch.h netash shadow.h xlocale.h
fpu_control.h netatalk signal.h
fstab.h netax25 sound
fts.h netdb.h spawn.h

  /usr/local/include

当前该目录下没有文件

  /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include

[root@centos-64-min local]# ls /usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/
abmintrin.h float.h nmmintrin.h syslimits.h
ammintrin.h fma4intrin.h omp.h tbmintrin.h
avxintrin.h immintrin.h pmmintrin.h tmmintrin.h
bmiintrin.h iso646.h popcntintrin.h unwind.h
bmmintrin.h limits.h smmintrin.h varargs.h
cpuid.h lwpintrin.h stdarg.h wmmintrin.h
cross-stdarg.h mm3dnow.h stdbool.h x86intrin.h
emmintrin.h mmintrin.h stddef.h xmmintrin.h
f16cintrin.h mm_malloc.h stdfix.h xopintrin.h

2:#include <stdio.h>

搜索顺序为:

  (1)先搜索 -I 指定的目录

  (2)然后搜索gcc的环境变量CPLUS_INCLUDE_PATH

  (3)最后搜索gcc内定目录,上面三个

待续...

Makefile一 头文件及库搜索路径的更多相关文章

  1. linux 头文件以及库的路径

    原来在编译的时候可以指定执行时去哪里找需要的lib文件,长知识了 本文详细介绍了Linux 下gcc头文件指定方法,以及搜索路径顺序的问题.另外,还总结了,gcc动态链接的方法以及路径指定,同样也讨论 ...

  2. 环境变量,include搜索路径,lib库搜索路径

    环境变量 系统环境变量 我们知道,我们经常要设置一些环境变量,系统环境变量我们非常容易理解.其实我们在windows中经常容易接触.其实环境变量是一个非常广泛的一个概念,它与web应用程序中的web. ...

  3. linux下的头文件和库文件搜索路径 (转)

     GCC 找头文件有三种策略: 1. 会在默认情况下指定到 /usr/include 文件夹 ( 更深层次的是一个相对路径, GCC 可执行程序的路径是 /usr/bin ,那么它在实际工作时指定头文 ...

  4. gcc编译时头文件和库文件搜索路径

    特殊情况:用户自定义的头文件使用#include"mylib"时,gcc编译器会从当前目录查找头文件 一.头文件 gcc 在编译时寻找所需要的头文件 :    ※搜寻会从-I开始( ...

  5. linux下gcc默认搜索头文件及库文件的路径

    一.头文件gcc 在编译时如何去寻找所需要的头文件:※所以header file的搜寻会从-I开始※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC ...

  6. linux gcc 编译时头文件和库文件搜索路径

    一.头文件    gcc 在编译时寻找所需要的头文件 :    ※搜寻会从-I开始    ※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INC ...

  7. linux下gcc默认搜索的头文件及库文件路径

    转自:https://blog.csdn.net/fd315063004/article/details/7925854 一.头文件 gcc 在编译时如何去寻找所需要的头文件:※所以header fi ...

  8. C/C++ 头文件以及库的搜索路径

    关键点: 1. #include <...> 不会搜索当前目录 2. 使用 -I 参数指定的头文件路径仅次于 搜索当前路径. 3. gcc -E -v 可以输出头文件路径搜索过程 C++编 ...

  9. gcc的搜索路径,头文件和库

    1 抛开默认的搜索路径,自己指定搜索路径 第一,明确自己编写的代码所需要的头文件和库放在了哪里 第二,使用“-I”指定头文件的搜索路径,使用-rpath指定库的搜索路径 2 无论是本地编译还是交叉编译 ...

随机推荐

  1. leetcode-824-Goat Latin(字符串的处理)

    题目描述: A sentence S is given, composed of words separated by spaces. Each word consists of lowercase ...

  2. ubuntu 使用ifupdown 进行高级网络设置

    ifupdown ubuntu 本身支持linux的网络底层设置命令:ifconfig,route,ip 等命令,但为了让网络设置更加简单,Debian 提供了一个标准的高级网络设置工具,包含 ifu ...

  3. java.math.BigDecimal cannot be cast to java.lang.Integer

    问题来源: 在数据库中查询一个列表的长度时,需要转换为Integer类型,我刚开始直接转就报错了.因为在数据库中用count(*) 聚合函数返回的值类型为BigDecimal,不能直接转换为Integ ...

  4. Android可见APP的不可见任务栈(TaskRecord)销毁分析

    Android依托Java型虚拟机,OOM是经常遇到的问题,那么在快达到OOM的时候,系统难道不能回收部分界面来达到缩减开支的目的码?在系统内存不足的情况下,可以通过AMS及LowMemoryKill ...

  5. CSAPP阅读笔记-汇编语言初探(控制类指令)-来自第三章3.6的笔记-P135-P163

    1.正溢出与负溢出: 首先,一个正数与一个负数相加,不可能溢出,因为结果的绝对值一定小于两个加数的绝对值,既然两个加数能合理表示出来,结果一定也能合理表示出来. 其次,正溢出是由于两个很大的正数相加, ...

  6. 性能测试工具Jmeter12-Jmeter连接配置带跳板机(SSH)的mysql服务器

    准备工作: 1.下载mysql-connector-java-5.1.13-bin.jar包,然后放在jmeter安装目录lib下 2.重新打开jmeter即可 要完成以上两步才能进行后续操作 要点: ...

  7. selenium+Python(Js处理click失效)

    有时候元素明明已经找到了,运行也没报错,点击后页面没任何反应.这种问题遇到了,是比较头疼的,因为没任何报错,只是 click 事件失效了. 问题: 1.在练习百度的搜索设置按钮时,点保存设置按钮,al ...

  8. HtmlUnit 开发网络爬虫

    网络爬虫第一个要面临的问题,就是如何抓取网页,抓取其实很容易,没你想的那么复杂,一个开源HtmlUnit包,几行代码就OK啦! 通常在一个页面中会包含别的Url,在别的Url当中又会包含更多的Url. ...

  9. Spark中自定义累加器Accumulator

    1. 自定义累加器 自定义累加器需要继承AccumulatorParam,实现addInPlace和zero方法. 例1:实现Long类型的累加器 object LongAccumulatorPara ...

  10. xcode配置文件中,Architectures表示的意义

    xcode配置文件中,Architectures表示的意义 ======================== Architecture : 指你想支持的指令集. Valid architectures ...