尖括号与双引号所引起的错误

在包括一个文件时,如果用的是尖括号〈,那么包含的将是(编译)系统的文件,如果用的是双引号 ",那么包含的将是当前路径下的文件,二者是不同的

    例如在VC6.0中,编译系统本身带有 AFXMSG_.H,所以如果使用

#include<AFXMSG.H>

那么包含的是编译系统的文件,如果使用

#include "AFXMSG.H"

那么包含的是当前路径下的文件,

在《深入浅出MFC》(2e)的源程序(未更正的源程序)中常因为这个问题出错,即使把AFXMSG.H中的内容修改得跟更正后的源程序一模一样,只要不在MFC.h这个文件中把

#include<AFXMSG.H>改为#include "AFXMSG.H"

那么结果仍然是错因为编译器所引用的并不是当前路径下的AFXMSG.H文件,而是编译系统本身自带的

AFXMSG.H文件,在AFXMSG.H上右键单击,可以看到,一个是Open Docment "AFXMSG.H"一个是

Open Docment <AFXMSG.H>

 

posted @ 2012-04-29 18:01  dyhui1992  阅读(248)  评论(0编辑  收藏  举报