MFC工程里的stdafx.h文件

来源:百度知道 编辑:UC知道 时间:2024/06/01 22:32:47
大多数stdafx.h文件开头都会有
#if !defined(AFX_STDAFX_H__9B31B9BB_CC6A_4CDC_9397_A9A184CC07C2__INCLUDED_)
#define AFX_STDAFX_H__9B31B9BB_CC6A_4CDC_9397_A9A184CC07C2__INCLUDED_

请问在上面括号里面的AFX_STDAFX_H__9B31B9BB_CC6A_4CDC_9397_A9A184CC07C2__INCLUDED是什么东西?参数吗?

我有看过好几个不同工程里的stdafx.h源代码,每个文件里面的开头的一段括号里的东西都不一样。
也见过没有这种东西的stdafx.h文件

请问这到底是什么呢?
一楼回答的是#if !defined的意思,

可我想知道的是括号内AFX_STDAFX_H__9B31B9BB_CC6A_4CDC_9397_A9A184CC07C2__INCLUDED是什么意思。

AFX_STDAFX_H__9B31B9BB_CC6A_4CDC_9397_A9A184CC07C2__INCLUDED 是一个随机生成的值

是个文件,这句话的意思是要是这个文件没有定义的话,那么定义这个文件。

#if !defined(AFX_STDAFX_H__9B31B9BB_CC6A_4CDC_9397_A9A184CC07C2__INCLUDED_)
#define AFX_STDAFX_H__9B31B9BB_CC6A_4CDC_9397_A9A184CC07C2__INCLUDED_

这是为了包含头文件的不重复性而写了
AFX_STDAFX_H__9B31B9BB_CC6A_4CDC_9397_A9A184CC07C2__INCLUDED是随机生成的
楼主可以看一下关于预定义的相关知识~呵呵

#if !defined(AFX_STDAFX_H__9B31B9BB_CC6A_4CDC_9397_A9A184CC07C2__INCLUDED_)
#define AFX_STDAFX_H__9B31B9BB_CC6A_4CDC_9397_A9A184CC07C2__INCLUDED_
aaa

#endif

这段预编译命令的作用是防止同一个头文件被重复引用。