我正在VS2010中开发,并希望将代码添加到已经存在的项目中。 顺便说一下,这是一个Win32/MFC。
我不禁注意到,在类MyClass(在本例中,MyClass是CDialog类的扩展(中,cpp文件的顶部包含以下内容:
#include "MyClass.h"
#include ".myclass.h"
我注意到第二个包含是在没有大写的情况下输入的,但我不太清楚为什么?
"MyClass.h
" 将在项目设置中定义的路径INCLUDE_DIR搜索。
"./myclass.h
" 将在与当前文件相同的目录中搜索。
Windows 文件名不区分大小写,因此,如果工作目录位于包含路径中,则这些行将指向同一文件。
这种冗余可能是 VS 确保文件至少包含一次的一种方式......
编辑:谢谢Arne Vogel,我累了,写了假东西。 您的编译器将仅查找您的头文件 il 文件名类似于#include <file.h>
但我想冗余是为了兼容所有文件系统。
.
说要查找当前目录。我猜那个标题中的包含守卫,那不会有问题。
#include "MyClass.h"
来自环境路径,而#include ".myclass.h"
来自当前路径。
大多数时候,"MyClass.h"在你的项目下的inc目录中,但你的MyClass.cpp在其他路径中。