头文件及库搜索路径

头文件的搜索路径:

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

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. CRC32算法笔记

    这几天在研究CRC32的计算过程,看了CRC算法的原理,也看了不少通过移位法实现的代码,但是算出的结果跟校验工具算的不一致. 折腾了好长时间,终于找到一个手工计算CRC32的文章,再对照IEEE 80 ...

  2. json "key" 注意

    json 的key只能是字符串 必须使用 双引号

  3. MPMoviePlayerViewController不能播放本地mp4的解决办法.

    之前一直用MPMoviePlayerViewController进行网络播放,最近下载文件然后本地播放,发现怎么播放都是黑屏.后来发现MPMoviePlayerViewController的本地URL ...

  4. CoreText 图文混排

    基本原理 https://www.cnblogs.com/purple-sweet-pottoes/p/5109413.html CoreText(一):基本用法  https://blog.csdn ...

  5. try语句块和异常处理

    在C++中,异常处理包括: · throw表达式(throw expression) 异常检测部分使用throw表达式来表示它遇到了无法处理的问题.throw表达式抛出一个异常并把控制权转移到能处理该 ...

  6. [CQOI2015]标识设计

    Luogu3170 128MB过不去 LOJ2099 256MB能卡过 BZOJ3934 512MB怎么都过的去 求在\(30*30\)的方格上放\(3\)个\(L\)的方案 , 有障碍 拓展这条路的 ...

  7. C#集合之可观察的集合

    如果需要集合中的元素何时删除或添加的信息,可以使用ObservableCollection<T>类.这个类是为WPF定义的,这样UI就可以得知集合的变化.这个类在程序集WindowsBas ...

  8. 苹果Air A1466进入系统黑屏

    现象:苹果Air A1466笔记本安装Windows 7系统后,安装官网对应型号的bootcamp后,重启机器,在Windows滚动条完成后随即进入黑屏状态,安全模式能够进入,在安全模式下卸载删除显卡 ...

  9. git学习笔记6

    打标签 git tag -m "Say bye-bye to all previous practice." old_practice //引号里是注释 本地删除不是真的删除,对暂 ...

  10. 获取两个数之间的随机数-java

    start=25 end=30 (int)(Math.random()*(end-start)+start)