包含头文件有两种写法,分别是:
#include <stdio.h>
#include "stdio.h"

<>和""分别表示搜索位置的方式。

VC中,<>表示先从系统目录下搜索,如果没有搜索到,再从当前目录搜索。""表示先从当前目录搜索,如果没有搜索到,再到系统目录搜索。两者都没有搜索到,回到VS指定的头文件包含目录搜索。

在GCC编译器规则中,<>只会搜索系统目录,在Linux中,GCC系统目录是/usr/local/include/和/usr/include/,如果没有搜索到,那么就提示错误文件找不到。而""包含的头文件,如果没有在当前目录搜索到,那么就回到GCC系统目录/usr/local/include/和/usr/include/去寻找,如果找不到,那么就会提示文件找不到错误。

linux 编程头文件搜索规则的更多相关文章

  1. linux编程头文件所在路径的问题

    一.问题引入 1.头文件与库 当我们在PC主机linux环境下(如ubuntu),编写linux应用程序,然后利用gcc来编译.在源代码的开始位置会写入头文件,那是因为我们使用了系统提供的库函数,例如 ...

  2. linux常用头文件及说明

    linux常用头文件及说明 1. Linux中一些头文件的作用: <assert.h>:ANSI C.提供断言,assert(表达式)<glib.h>:GCC.GTK,GNOM ...

  3. linux c 头文件

    //1.Linux中一些头文件的作用: #include <assert.h> //ANSI C.提供断言,assert(表达式) #include <glib.h> //GC ...

  4. Linux内核头文件与内核与库的关系

    看上一篇文章中对buildroot的介绍,里面的文档第 3.1.1.1 Internal toolchain backend 节内容 C库会去访问Linux kernel headers(*.h)文件 ...

  5. linux添加头文件路径

    gcc demo.c -o demo  -I/tools/libevent/include -L/tools/libevent/lib -levent -I:头文件目录 -L:静态库目录 -l:静态库 ...

  6. linux c 编程 ------ 头文件及其作用

    #include <stdio.h> printf #include <sys/types.h> 基本系统数据类型.系统的基本数据类型在32编译环境中保持为32位值,在64编译 ...

  7. socket编程头文件分析

    在socket网络编程中经常用到一些宏定义.结构和函数,这些经常包含在相关的头文件中,使用时直接include相关头文件即可.下面简单描述下相关的一些结构及头文件. 1. sockaddr  / bi ...

  8. linux常用头文件

    http://blog.csdn.net/kokodudu/article/details/17361161 aio.h 异步I/Oassert.h 验证程序断言 complex 复数类complex ...

  9. linux 内核头文件 linux kernel header

    概述:在进行有关系统软件的安装的时候(编译一个新的驱动,或者安装一个系统级别的测试工具,例如systemtap),经常需要重新编译内核,相应的问题往往与内核头文件有关.那么,什么是内核头文件,为什么需 ...

随机推荐

  1. IPC 进程间通信方式——管道

    进程间通信概述 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间 共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到. 通知时间: ...

  2. 生成json格式

    html页面 <input type="button" value="重新生成JSON" class="button1" id=&qu ...

  3. LINUX装机问题:无法使用“Ctrl+Alt+[F1~F6]”快捷键切换到终端

    用VMware装LINUX虚拟机之后,你会发现在X Window的登陆界面无法使用“Ctrl+Alt+[F1~F6]”快捷键切换到终端,这是因为VMware默认的快捷键也是Ctrl+Alt,所以你只需 ...

  4. FFT-Matlab初步实现

    /****************************************************/ /******************************************** ...

  5. Linux 打印简单日志(一)

    简单日志输出: #include<stdio.h> #include<string.h> #include<stdlib.h> void write(char* f ...

  6. JDK_API剖析之java.net包

    为实现网络应用程序提供类.(按照字母顺序排序) 1.Authenticator 抽象类 自1.2开始有 无父类和接口 Authenticator 类表示懂得如何获得网络连接验证的对象.通常,它通过提示 ...

  7. python 中字符串转 二进制 /ASCII码

  8. 事件总线(EventBus)

    Vue.prototype.$EventBus = new Vue() 不建议用,尽量用vuex,eventbus过于消耗浏览器资源 傻瓜版状态管理 一般的状态传递是在同时显示的情况下,倘若是在不同时 ...

  9. line-height与vertical-align:简单的属性不简单

    学习过CSS肯定对line-height与vertical-align两个属性有印象:line-height用来设置行高,vertical-align用来设置文本垂直方向的对齐方式,两种看似十分简单, ...

  10. 6张图解释IO流

    1.字节流InputStream 2.字节流OutputStream 3.字符流Reader 4.字符流Writer 5.节点流 6.处理流 总结: 节点流可以直接连接在数据源上,处理流不可以:节点流 ...