C++之预处理
来源:互联网 发布:vb自动登录弹出窗口 编辑:程序博客网 时间:2024/06/03 02:01
预处理是指在进行程序编译的第一遍扫描(词法扫描和语法分析)之前所做的工作。预处理是C语言一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分进行处理,处理完毕自动进入对源程序的编译。
预处理程序(预处理器)包含在编译器中。预处理程序首先读源文件,预处理的输出是“翻译单元”,它是存放在内存中的临时文件。编译器接受预处理的输出,并把源代码转化为包含机器语言指令的目标文件。
预处理器的作用是通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有文件包含、宏替换、条件编译和布局控制4种。
1 文件包含
有两种格式,一种格式是#include <文件名>,这些头文件一般保存在C++的系统目录下的include子目录下,这种格式是标准方式。另一种格式是 #include "文件名",预处理器遇到这种格式的包含指令后,首先在当前文件所在目录中进行搜索,如果找不到,再按标准方式进行搜索。
2 宏替换
#define,这是最常见的一种用法,它可以定义符号常量、函数功能、重新命名、字符串拼接等功能。
3 条件编译
#if #ifndef #endif #undef等也是比较常见的预处理,主要是编译时进行有选择的挑选,猪是调一些指定的代码,以达到版本控制、防止对文件重复包含的功能。
4 布局控制
#progma ,为编译程序提供非常规的控制流信息,有以下几种:
4.1 #progma warning(disable:XXX)
在程序编译时不显示XXX警告信息
4.2 #progma comment(…)
该指令将一个注释记录放入一个对象文件或可执行文件中。常用的lib关键字可以用于连接一个库文件,比如 #progma comment(lib,"user32.lib")指令用来将users2.lib库文件加入到工程中。
4.3 #progma once
只要在头文件的最开加入这条指令,就能够保证头文件被编译一次。
- c语言之预处理
- C语言之预处理
- 《C预处理》之#ifndef
- C语言程序设计之预处理
- C之预处理
- C语言之预处理
- C语言之预处理
- C语言之预处理
- C语言之预处理
- C语言之预处理
- C语言之预处理
- C语言学习之预处理
- 8.C语言之预处理
- C语言之预处理命令
- C/C++ 预处理之 define
- c专家编程之预处理
- c++primer之预处理器
- C语言学习之预处理
- ubuntu install navicat
- 关于c++中虚函数和接口的关系区分
- iPhone 掌握蓝牙通信编程
- com组件相关
- 在后台下载图片
- C++之预处理
- 【PHP】PHP网站安全漏洞全解
- vim 列编辑
- Qt 5.0 将支持 Android
- java反射详解
- C++自增运算符的探索
- 爬虫larbin主函数说明
- 医药经验
- 微软等数据结构+算法面试100题(46)-- 查找最小的k 个元素