早就想开博客了,可是一拖再拖,也许是觉得没有什么东西值得写,但是在我印象中,好像有很多次这样的机会我都错过了,今天在公司写一个Layout文件的可视化生成工具,学到了一点早该知道的东西,索性开了这个博客,今后也会一直的写下去!
1.头文件到底起什么作用?
编译器只编译源文件(cpp),头文件是不参与编译的,编译器编译源文件,首先展开它所include的文件所包含的代码,然后从上到下的开始编译
2.#pragma once的使用
.#pragma once放到头文件的开头,这样某个include了此头文件的cpp文件,在编译器编译它时,就只会展开一次这个头文件的内容,起到防止重复包含的作用。
这个怎么完成的呢,其实就是使用了宏定义,如下:
#ifndef A_H_H_H
#define A_H_H_H
class A
{
};
#endif
在这里有一点需要注意,所有标识符的定义情况只是针对本次的cpp编译来说的,也就是说每个cpp在编译
的开始,这些标识符都是没有定义的
3.预编译的使用
VC中可以设置文件的预编译标志,这样其它cpp文件include了这个文件时,就不需要重新编译里面的内容,这样可以节省编译时间,对于include频繁的头文件,就可以在它的cpp文件的属性中设置Create precompile header标志(别忘了真正编译的就时它的cpp文件),而在工程的属性中设置Use precompile header标志,这样其它include了这个文件的cpp文件就会按 预编译 的方式使用它了,另外StdAfx.cpp一般都应该设置成Create precompile header标志
好了,今天就收获了这么多!既然开了这个Blog,以后我就会接着写下去的
posted on 2008-07-16 22:22
Virgin_Relax 阅读(192)
评论(1) 编辑 收藏 引用