c – #include – 括号与XCode中的引号?

c – #include – 括号与XCode中的引号?,第1张

概述在MSVC中,#include文件的搜索方式不同,具体取决于文件是包含在“”还是<>中.引用的表单首先在本地文件夹中搜索,然后在/ I指定的位置搜索,尖括号形式避免使用本地文件夹. 这意味着,在MSVC中,可以使用与运行时和SDK标头同名的头文件. 因此,例如,我需要包装windows sdk windows.h文件来取消定义导致问题的一些宏.使用MSVS我只需要将(可选的)windows.h文件 在MSVC中,#include文件的搜索方式不同,具体取决于文件是包含在“”还是<>中.引用的表单首先在本地文件夹中搜索,然后在/ I指定的位置搜索,尖括号形式避免使用本地文件夹.

这意味着,在MSVC中,可以使用与运行时和SDK标头同名的头文件.

因此,例如,我需要包装windows sdk windows.h文件来取消定义导致问题的一些宏.使用MSVS我只需要将(可选的)windows.h文件添加到我的项目中,只要我使用引用的形式包含它: –

// some .cpp file#include "windows.h" // will include my local windows.h file

在我的windows.h中,我可以使用尖括号形式拉入真实的:

// my windows.h#include <windows.h> // will load the real one#undef ConflictingSymbol

在XCode中使用GCC尝试这个技巧不起作用.实际上,在系统头文件中#includes正在查找我的本地文件夹结构中具有相似名称的头文件.
MSVC系统意味着在我自己的文件夹structre中有一个“String.h”头文件是非常安全的.在XCode上,这似乎是一个重要的不.

有没有办法控制XCode中的搜索路径行为更像是MSVC?或者我只需要避免将任何可能与系统头冲突的任何标头命名.编写跨平台代码并使用大量框架意味着偶然冲突的可能性似乎很大.

解决方法 你应该能够用gcc做同样的事情(我不知道xcode包装了多少内容并阻止访问某些功能).控制搜索路径有很多选项(请参阅 http://gcc.gnu.org/onlinedocs/gcc-4.5.0/cpp/Search-Path.html和 @L_419_3@并查找-iquote).使用-v调用gcc将为您提供指定两者不同的路径. 总结

以上是内存溢出为你收集整理的c – #include – 括号与XCode中的引号?全部内容,希望文章能够帮你解决c – #include – 括号与XCode中的引号?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1009819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存