当前位置: 技术问答>linux和unix
请问什么是预编译,有什么作用。怎么使用?
来源: 互联网 发布时间:2015-08-25
本文导语: 请问什么是预编译,有什么作用。怎么使用? | 一、什么是预编译头? 预编译头物理上与通常的的.obj文件是一样的,但编译入预编译头的.h,.c,.cpp文件在整个编译过程中,只编译一次,如预编...
请问什么是预编译,有什么作用。怎么使用?
|
一、什么是预编译头?
预编译头物理上与通常的的.obj文件是一样的,但编译入预编译头的.h,.c,.cpp文件在整个编译过程中,只编译一次,如预编译头所涉及的部分不发生改变的话,在随后的编译过程中此部分不重新进行编译。进而大大提高编译速度,并便于对头文件进行管理,也有助于杜绝重复包含问题。
二、什么时候使用预编译头?
当大多.c或.cpp文件都需要相同的头文件时。
当某些代码被大量重复使用时。
当导入某些不同库都有实现的函数,并产生混乱时。
预编译头物理上与通常的的.obj文件是一样的,但编译入预编译头的.h,.c,.cpp文件在整个编译过程中,只编译一次,如预编译头所涉及的部分不发生改变的话,在随后的编译过程中此部分不重新进行编译。进而大大提高编译速度,并便于对头文件进行管理,也有助于杜绝重复包含问题。
二、什么时候使用预编译头?
当大多.c或.cpp文件都需要相同的头文件时。
当某些代码被大量重复使用时。
当导入某些不同库都有实现的函数,并产生混乱时。
|
预编译就是在真正编译之前所作的工作.
像你定义了一个宏:
#define MAX_SIZE 1024
这样预编译的工作就是, 把程序中所有出现MAX_SIZE的地方,都用1024来替换.
像你定义了一个宏:
#define MAX_SIZE 1024
这样预编译的工作就是, 把程序中所有出现MAX_SIZE的地方,都用1024来替换.
|
也叫预处理,是做些文本替换的工作,处理#开头的指令,比如#define的替换,条件编译等等.
|
ok