stdafx.h疑问。。。

来源:百度知道 编辑:UC知道 时间:2024/05/31 16:23:36
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//

#if !defined(AFX_STDAFX_H__67A7CD59_0160_409D_8AA9_8E0CEEA6C9E3__INCLUDED_)
#define AFX_STDAFX_H__67A7CD59_0160_409D_8AA9_8E0CEEA6C9E3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// Insert your headers here
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers

#include <windows.h>

// TODO: reference additional headers your program requires here

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_STDAFX_H__67A7CD59_0160_409D_8AA9_8E0CEEA6C9E3__INCLUDED_)

这段代码什么用的,解释一下,感激涕零。。。小弟我献出仅有的10分,,为求一解。。。

做初始化,定义一些必要的宏,包含一些必要的头文件,MFC默认是包含这个文件的,所以在这里尽量包含那些公用的文件,比如支持MFC的,或者其他的

****************************************************************

这就是微软为了不让自己的C代码和linux兼容而设计出来的垃圾stdafx.h头文件,本人对此深恶痛绝,因此每次编译都在编译选项里将 是否支持stdafx.h 设定为 NO

哈哈,被微软忽悠了吧。

这就是微软为了不让自己的C代码和linux兼容而设计出来的垃圾stdafx.h头文件,本人对此深恶痛绝,因此每次编译都在编译选项里将 是否支持stdafx.h 设定为 NO

小知识:凡是afx开头的文件,都是和MFC有关的

// 这是 C/C++ 头文件一个惯用的方法,
// 为了防止头文件被多次包含(这会降低编译速度的),
// 整个并没有文件用
// #if !define A
// #define A
//
// 代码
//
// #endif
// 其中的 AFX_STDAFX_H__xxxx... 什么的, 是向导生成的
// 保存唯一的一个符号
//
#if !defined(AFX_STDAFX_H__67A7CD59_0160_409D_8AA9_8E0CEEA6C9E3__INCLUDED_)
#define AFX_STDAFX_H__67A7CD59_0160_409D_8AA9_8E0CEEA6C9E3__INCLUDED_

// _MSC_VER 是预定义的内部宏, 代码 VC++ (其实是 cl.exe) 的版本,
// 意思就是当编译器版本 > 1000 的时候, 才使用 #pragam once,
// 表明 #pragma once 在 版本 < 1000 的编译器上不被支持,
// 为移置性考虑的.
#if _MSC_VER > 1000