C-week(5)-编译

本文详细介绍了C语言的编译过程,包括编译预处理(宏定义、文件包含、条件编译)、无参宏定义与带参宏定义的区别,以及#define与typedef、const在使用上的不同。同时,讨论了gcc编译器的使用方法。
摘要由CSDN通过智能技术生成

编译预处理

对源程序编译之前做一些处理,生成扩展C源程序

宏定义

#define

文件包含

#include

条件编译

#if – #else – #endif等

无参宏定义

例如 :#define PI 3.1415926
在编写源程序时,所有的3.1415926都可由PI代替,而对源程序作编译时,将先由预处理程序进行宏代换,即用3.1415926表达式去置换所有的宏名PI,然后再进行编译。gcc -E test.c 来查看预处理替换后的代码。如要终止其作用域可使用**# undef**命令。宏名在源程序中若用引号括起来,则预处理程序不对其作宏代换。可用宏定义表示数据类型,使书写方便。例如: #define INTEGER int

带参宏定义

#define M(y) yy+3y
形式参数不分配内存单元,因此不必作类型定义。而宏调用中的实参有具体的值。要用它们去代换形参,因此必须作类型说明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值