初识C++与Visual Studio(7)——Visual Studio2017头文件的路径问题(本专栏完结)

学过C语言/C++的人可能都知道下面二者都是正确的:

#include <iostream>
#include "iostream"

但是在使用Visual Studio当你在<>中间输入ios的时候,vs会给你推荐符合这个前缀的头文件,如下:
在这里插入图片描述
如果你用的是“”,VS则不会给你推荐“iostream”。
在这里插入图片描述
所以问题来了:是什么决定VS在哪个路径下搜索头文件?

答案就是项目属性中的VC++目录。我们先看下VC++里面和头文件引用相关的部分,就是包含目录:
在这里插入图片描述
(“VC++目录”下的“包含目录”对应的就是VC++的库文件目录,就是在#include<>时进行搜索的文件夹的集合)

而 iostream 头文件是在 $(VC_IncludePath)的文件夹下面,所以在使用#include<>的时候VS会在这个途径下推荐接近的头文件。从上图可以看到我们创建项目后并没有主动添加路径到这个包含目录里面,而是直接继承了 $(VC_IncludePath)$(WindowsSDK_IncludePath)这两个值。这就解释了#include<>的搜索路径的由来。

那“”中的路径位置又在哪里呢?就在下图中的附加包含目录:
在这里插入图片描述
本来附加包含目录应该是空的,现在由于项目需要我在这里添加了新的相对位置(相对于.vcxproj的位置),因此当输入“”时,会显示该文件夹下的文件内容,如图所示。
在这里插入图片描述

【总结】:“”的搜索路径是保存在C/C++的附加包含目录里,而<>是在VC++目录的包含目录中。所以,你如果不想自己的头文件和一大堆Windows的标准库文件混在一起的话,那就在附加包含目录里添加你自己的include文件夹,并且在使用的时候用#include“”。

本专栏到此就正式完结了,欢迎在评论区友好发言讨论,如果觉得对你有所帮助,记得点个赞哟~

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wendy_ya

您的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值