一、 #include “” 和 #include <>的区别:
答:区别在于查找的策略。
1. #include “”(针对用户创建的头文件),查找策略是:现在该源文件所在目录下查找,如果头文件找不到,编译器就会在标准位置查找头文件,即自己安装这个软甲的目录下去查找;
2. #include <>(针对库文件,已经封装好的函数),查找策略是:直接去标准位置查找头文件,即自己安装这个软甲的目录下去查找,找不到就提示编译错误;
二、对于库文件,可以使用 #include “” 来包含吗?
答:可以,只不过这样的话查找效率很低,因为要先去源文件目录查找再去标准位置查找,并且这样也分辨不出哪个是用户定义的头文件,哪个是封装好的头文件。
三、对于#include “” 和 #include <> 的使用有什么值得注意的地方?
对图分析:test.h调用时,会用到test1.h和test2.h,由于test1.h和test2.h分别都包含了comm.h,这样会导致有两份comm.h被包含,因此需要使用条件编译。
因此当出现头文件有嵌套使用的情况,需要使用条件编译。
例如:
#ifndef __TEST_H__
#define __TEST_H__
//这里写头文件要包含的内容
#endif