首先说声对不起,我不太会用Markdown编辑器,所以文章乱。

环境:linux操作系统 / X86-64和gcc编译器

================================================
前言:
以C/C++为例,编写好的源代码会包含一些预处理命令(#include和#define),需要经过预处理成为纯C/C++的文本(即以.i为后缀的文件)。
常见的预处理命名如下:

在这个过程中文件有什么变化?
#define 不用多说,宏定义,使得源代码更容易理解。

#include 则是关注的重点,它的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容,单独放在一个文件里减少整体代码尺寸;或者提供跨工程公共代码。

================================================
#include<sdtio.h> 作为最常见的头文件,它在哪,它的里面有什么?接下来开始进入正题


  • 在linux系统中编写一个简单的源程序命名为:a.c
    使用命令:gcc -E -P a.c 查看不含调试信息的预处理结果。大概看一下预处理的结果。

================================================

  • 接下来执行gcc -E a.c 即输出带调试信息的预处理结果【有点乱,但调试信息可以告诉我们内容来自哪里】可以看到,stdio.h 这个文件是在usr/include 路径下的。同时我看到还引入了其他的头文件,比如/usr/include/stdc-predef.h 、/usr/include/features.h、/usr/include/x86_64-linux-gnu/sys/cdefs.h等等。

================================================
按路径打开stdio.h 文件,看看预处理引入了头文件的哪些内容。

在我这个版本里(感觉和网上的不太一样)stdio.h里面还有预处理命令。

暂时认为:预处理根据头文件的预处理命令来把部分类型定义、全局变量及函数原型"复制"到源文件中。而不是直接全搬过去。

理由:
stdio.h里面有的数据类型,在预处理后的文件里不一定有。

预处理中的头文件stdio.h在哪?里面有什么?相关推荐

  1. 【C++】C++中的头文件(.h)—详解(1)

    [fishing-pan:https://blog.csdn.net/u013921430转载请注明出处] 前言 之前写过一篇<C++中头文件的使用>,那篇文章主要讲述C++中头文件的使用 ...

  2. c语言中的头文件stdlib.h的作用,C语言中你可能不熟悉的头文件(stdlib.h)

    C语言中你可能不熟悉的头文件(stdlib.h) C Standard General Utilities Library (header) C标准通用工具库(头文件) 此头文件定义了一些通用功能函数 ...

  3. 【C++】C++中的头文件(.h)—详解(2)

    接上... [fishing-pan:https://blog.csdn.net/u013921430转载请注明出处] 头文件中写些什么 在上篇博客中写到头文件本身不参与编译,但是它们被包含到源文件中 ...

  4. C++中的头文件(.h)和源文件(.cc)

    头文件(,h): 写类的声明(包括类里面的成员和方法的声明).函数原型.#define常数等,但一般来说不写出具体实现. 在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句: #ifn ...

  5. major头文件_关于C++中使用头文件gdal_priv.h

    首先声明,我对GDAL的使用一点也不熟,最近需要用它做一些图像的处理,出现问题,如下:我简单的建立了一个工程包含了头文件gdal_priv.h编译通过,连接产生以下错误,请各位高手帮忙指... 首先声 ...

  6. c语言中的头文件stdlib.h的作用,c语言includestdlib.h什么意思?

    c语言"include"的意思是:头文件即"standard library"标准库头文件.该文件包含了的C语言标准库函数的定义"stdlib&quo ...

  7. c语言中的头文件stdlib.h的作用,C语言头文件#includestdlib.h的作用

    stdlib 头文件即standard library标准库头文件 stdlib 头文件里包含了C.C++语言的最常用的系统函数 该文件包含了的C语言标准库函数的定义 stdlib.h里面定义了五种类 ...

  8. c语言中的头文件stdlib.h的作用,c语言中includestdlib.h的意思是什么

    c语言中include的意思是什么 发布时间:2020-07-16 09:17:22 来源:亿速云 阅读:1720 作者:Leah 这篇文章将为大家详细讲解有关c语言中include的意思是什么,文章 ...

  9. c语言中的头文件string.h的作用,C语言常用头文件及库函数——string.h

    string.h 函数与形参类型: 函数功能: 返回值: 例子: 1.memcmp 函数与形参类型: int memcmp(buf1,buf2,count); void * buf1, void bu ...

  10. Keil C51中头文件INTRINS.H的作用

    KEIL 中 头文件 INTRINS.H的作用 在 C51 单片机编程中,头文件 INTRINS.H 的函数使用起来, 就会让你像在用汇编时一样简便. 内部函数 描述 _crol_ 字符循环左移 _c ...

最新文章

  1. Ubuntu 16.04下的LAMP环境配置
  2. 腾讯云入选云原生产业联盟首批理事单位 助力生态发展与产业落地
  3. mysql 下一条数据_mysql 查询一条记录的下一条和上一条记录
  4. linux缺少文件操作数,linux 文件的atime,ctime,mtime查看与修改
  5. C++ const用法 尽可能使用const
  6. C ++ 指针 | 指针与三维数组_6
  7. Python获取numpy数组中最大的5个元素(保持原顺序)
  8. Spring Cloud 服务治理
  9. matplotlib,seaborn等画图工具
  10. Java毕业设计-会议室预约小程序系统
  11. python手机编程软件-盘点几个在手机上可以用来学习编程的软件
  12. 力扣(718.1143)补9.12
  13. 【java】java技术要学习的内容
  14. 图像识别开源_看看开源图像识别技术
  15. 深度学习目标检测论文1(YOLOv1论文的翻译)
  16. 习题5-4 使用函数求素数和 (20 分)
  17. LeapYear....Java判断一年是否为闰年
  18. Jmeter生成正常的人名
  19. 影院群站专用苹果CMS10自适应手机电影整站源码影视模板
  20. Pointofix下载、安装和使用快捷键

热门文章

  1. 百度网盘资源下载快速提速方法,无需破解
  2. 2022-2028全球与中国无线电远程单元市场现状及未来发展趋势
  3. WinRAR安装程序打包教程
  4. 一、思科模拟器教程了解软件
  5. 【AI志愿超强攻略】中国高校人工智能专业最全院校排名课程对比
  6. 163接收邮件服务器pop3,pop3设置(163邮箱imap pop3设置)
  7. 如何查看计算机的硬盘序列号,电脑上的硬盘序列号如何查
  8. Android11(RK3568)自定义服务制作(3)-Hardware制作和权限管理
  9. HBase预分区设计
  10. 路由器刷php,【图片】【经验分享】路由器刷DDWRT认证锐捷校园网全程实录【哈尔滨工业大学吧】_百度贴吧...