头文件及库搜索路径

头文件的搜索路径:

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

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. 通过Maven简单搭建SSM框架

    创建Maven就不用多说了,下面直接看Pom.xml里面的依赖吧 <properties> <!-- spring版本号 --> <spring.version>5 ...

  2. IDEA通过Maven WebApp archetype 创建Spring boot项目骨架

    springboot项目资源: GitHub地址:https://github.com/TisFreedom/springbootdome.git 码云地址:https://gitee.com/Tis ...

  3. java学习基础部分

    JVM虚拟机的位置: 垃圾回收在java程序运行过程中自动进行,程序员无法精准控制和干预. Java程序还会出现内存泄漏和内存溢出. Jre = jvm+java se标准类库 Jdk = jre + ...

  4. java 上传文件大小转换为 GB/MB/KB/B

    1.工具类 package cn.cmodes.common.utils; import java.io.File; import java.io.FileInputStream; import ja ...

  5. codeforces1137B kmp(fail的妙用)

    题目传送门 题意:给出$s$和$t$两个串,让你构造出一个答案串,使得答案串中的01数量和s一样,并且使$t$在答案串中作为子串出现次数最多. 思路: 要想出现的次数尽可能多,那么就要重复的利用,哪一 ...

  6. Flutter Navigator 跳转

    1,routes 静注册,使用 跳转 Navigator.pushNamed(context, "/main"); 2,静态跳转及销毁当前页面使用 Navigator.pushNa ...

  7. Locust源码目录结构及模块作用

    Locust源码目录结构及模块作用如下: 参考文章:https://blog.csdn.net/biheyu828/article/details/84031942

  8. Quartz .net 一直运行失败

    使用了新的: Quartz.NET 2.6.2 https://github.com/quartznet/quartznet/releases IScheduler scheduler = StdSc ...

  9. Angular 例子

    前提 angular-cli 是过时的 @angular/cli  用是主流 通讯录  Angular 从零到一 别人是在安装包的时候全程FQ,用蓝灯,每月700M的免费流量 nice fish  A ...

  10. 案例20-页面使用redis缓存显示类别菜单

    1 准备工作 1  需要导入所需要的jar包. 2 启动windows版本的redis服务端 3 准备JedisUtils工具类的配置文件redis.properties redis.maxIdle= ...