编译预处理

大程序的编译过程

预处理
编译
汇编
链接
.c 项目源文件
.i 替换头文件后的源文件
.s 汇编语言
.o 二进制机器语言
.out 可执行文件

一个 .c 文件称为一个编译单元
一个项目中包含许多.c和.h文件

预处理

  • 作用:将项目源文件 (.c文件) 中的预处理指令进行替换

预处理指令

  • 宏(#define)
  • #include

#define(宏)

  • 定义:#define 名字 值

名字必须是一个单词
值可以是任何东西,值进行换行输入时使用 “ \ ”
宏后可以添加注释

#include

  • 定义:#include < 头文件.h >

  • < >与 " " 的区别

    < >直接去编译器指定目录查找头文件
    " " 先在源代码所在目录寻找头文件,无果后去编译器指定目录查找。Linux中可以通过环境变量或者编译器命令行修改编译器指定目录

头文件(.h文件) 中只包含函数原型声明和全局变量声明

  • 调用和定义函数的源文件(.c文件)都应含有#include <头文件.h>

    调用函数的源文件中的#include <头文件.h>作用:检测调用函数的参数和返 回值是否正确
    定义函数的源文件中的#include <头文件.h>作用:检测函数对外声明的参数和返回值是否正确

变量的声明和定义

extern int gA;		//变量声明

int gA=1;		//变量定义
int gB;			//变量定义
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值