Linux C预处理命令
2018-03-26 17:37
225 查看
预处理命令
一.宏定义
C语言标准允许在程序中用一个标识符来表示一个字符串,称为宏。标识符为宏名,在编译预处理时,将程序中所有的宏名用相应的字符串来替换,这个过程称为宏替换,宏分为两种:无参数的宏和有参数的宏。
无参数宏定义的一般形式为:
#define 标识符字符串
“#”代表本行是编译预处理命令。define是宏定义的关键字,标识符是宏名。
注意: 宏定义和其他编译预处理命令不是以分号结尾的。
例如:使用无参数宏的程序,输入半径,求园的周长,面积和体积。
第二行宏定义,用PI来代表3.1415926,宏替换是在程序中用相应的字符串来替换宏名,编译器预处理程序对他不做任何检查。
有参数宏的一般形式为:
#define 标识符(形参表) 字符串
如果有多个形参,像函数参数一样以逗号隔开。在程序中使用有参数宏的形式是:
标识符(实参表)
例如 演示了有参数宏的实现方法。
二.文件包含
文件包含是指把指定源文件的全部内容包括到当前源程序文件中。
文件包含命令的一般形式为:
#include"文件名" 或#include<文件名>
文件包含预处理命令#include的作用是使一个源文件可以将另外一个源文件的全部内容包含起来,把指定的文件插入该命令行位置取代该命令行,从而把指定的文件和当前的源文件程序文件连成一个源文件。
一个include命令只能指定一个被包含文件,若有多个文件要包含,则需要多个include命令。
文件包含允许嵌套,即在一个被包含的文件中可以包含另一个文件。
三.条件编译
一般情况下,源程序中所有的行都被编译,有时希望其中一部分内容只在某个条件成立或不成立时才去编译,也就是对一部分内容指定编译的条件,这就是条件编译。
条件编译命令有以下几种模式。
模式一:
#ifndef 标识符
程序段1
#endif
其含义是:如果没有定义标识符,则编译程序段1.
模式二:
#ifndef 标识符
程序段1
#else
程序段2
#endif
其含义是:如果没有定义标识符,就编译程序段1,否则就编译程序段2.
模式三:
#ifdef 标识符
程序段1
#endif
其含义是:如果没有定义标识符,就编译程序段1,否则就不编译该程序段。
一.宏定义
C语言标准允许在程序中用一个标识符来表示一个字符串,称为宏。标识符为宏名,在编译预处理时,将程序中所有的宏名用相应的字符串来替换,这个过程称为宏替换,宏分为两种:无参数的宏和有参数的宏。
无参数宏定义的一般形式为:
#define 标识符字符串
“#”代表本行是编译预处理命令。define是宏定义的关键字,标识符是宏名。
注意: 宏定义和其他编译预处理命令不是以分号结尾的。
例如:使用无参数宏的程序,输入半径,求园的周长,面积和体积。
第二行宏定义,用PI来代表3.1415926,宏替换是在程序中用相应的字符串来替换宏名,编译器预处理程序对他不做任何检查。
有参数宏的一般形式为:
#define 标识符(形参表) 字符串
如果有多个形参,像函数参数一样以逗号隔开。在程序中使用有参数宏的形式是:
标识符(实参表)
例如 演示了有参数宏的实现方法。
二.文件包含
文件包含是指把指定源文件的全部内容包括到当前源程序文件中。
文件包含命令的一般形式为:
#include"文件名" 或#include<文件名>
文件包含预处理命令#include的作用是使一个源文件可以将另外一个源文件的全部内容包含起来,把指定的文件插入该命令行位置取代该命令行,从而把指定的文件和当前的源文件程序文件连成一个源文件。
一个include命令只能指定一个被包含文件,若有多个文件要包含,则需要多个include命令。
文件包含允许嵌套,即在一个被包含的文件中可以包含另一个文件。
三.条件编译
一般情况下,源程序中所有的行都被编译,有时希望其中一部分内容只在某个条件成立或不成立时才去编译,也就是对一部分内容指定编译的条件,这就是条件编译。
条件编译命令有以下几种模式。
模式一:
#ifndef 标识符
程序段1
#endif
其含义是:如果没有定义标识符,则编译程序段1.
模式二:
#ifndef 标识符
程序段1
#else
程序段2
#endif
其含义是:如果没有定义标识符,就编译程序段1,否则就编译程序段2.
模式三:
#ifdef 标识符
程序段1
#endif
其含义是:如果没有定义标识符,就编译程序段1,否则就不编译该程序段。
相关文章推荐
- Linux C 预处理命令重点
- Linux C---预处理命令
- Linux C 预处理命令
- Linux预处理、编译、汇编、链接和运行的过程(包括一些基本的命令)
- LINUX 基础命令和预处理 4000
- linux命令之——join
- Linux常用命令大全
- 我使用过的Linux命令之curl - 强大的网络传输工具
- linux_fdisk命令详解
- 00-Linux基础入门-命令总结(持续更新)
- Linux命令之日期时间
- linux下vi编辑器命令大全
- 永远不要在Linux 执行的 10 个最危险的命令 rm rf
- linux sort,uniq,cut,wc命令详解
- linux和windows常用命令
- LINUX之基本命令的使用
- Linux的五个查找命令
- Linux 查看内核 系统 等软件版本命令
- linux 命令 - 删除空目录 rmdir
- Linux下CVS的安装配置与操作命令全解析