你说的不错,它的作用确实如此。#pragma once的作用就是这样子。而
#ifndef _XXX_
#define _XXX_
........
#endif
的作用要在所有引用这个头文件的CPP文件作相应配合才能达到效果,它的本意是在编译时同一个CPP文件不要多次包含之。即用
#ifndef _XXX_
#include "XXX.h"
#endif配合
你应当知道很多情况下,在CPP里仅是一行
#include "XXX.h"
这样就不能避免该文件被多次包含啦。
#ifndef _XXX_
#define _XXX_
........
#endif
的作用要在所有引用这个头文件的CPP文件作相应配合才能达到效果,它的本意是在编译时同一个CPP文件不要多次包含之。即用
#ifndef _XXX_
#include "XXX.h"
#endif配合
你应当知道很多情况下,在CPP里仅是一行
#include "XXX.h"
这样就不能避免该文件被多次包含啦。
#pragma data_seg(".mdata").....#pragma data_seg()可以让编译器把两者之间的所有已初始化变量放入一个新的.mdata段中。
而#pragma once的意思是要求编译器在编译过程中只将包含此命令文件编译(打开)一次,从而避免重复包含此文件。