龙空技术网

C语言include尖括号与引号区别,系统目录的分析#include

编程技术与艺术 250

前言:

现时各位老铁们对“include双引号和尖括号”大体比较讲究,各位老铁们都想要学习一些“include双引号和尖括号”的相关知识。那么小编在网摘上网罗了一些有关“include双引号和尖括号””的相关文章,希望兄弟们能喜欢,大家快快来学习一下吧!

你真的懂#include尖括号和引号的区别吗?

你真的懂#include尖括号和引号的区别吗?我搜了一下视频平台。八股文回答就是:尖括号是在系统目录下搜索头文件,引号是在当前目录下搜索头文件,找不到再去系统目录搜索,这个回答显然不能使我满意。什么是系统目录,没一个说清楚的,我去查标准,标准说没有标准,以编译器实现为准。但据我的观察及测试得出结论:系统目录包括:

·1.编译器自带的头文件所在目录。通常在编译器的安装目录下,或一些约定俗成的路径比如/user/include等目录,这是大家能达成共识的。

·2.通过Current Path指定的目录。一般通过IDE设置Inlucde Path,或者通过命令行-或/指定。部分编译器还支持分别指定尖括号搜索路径和引号搜索路径。

·3.其他,比如环境变量等。由上可知,系统路径是由用户控制的,控制权完全掌握在用户手中。当引入第三方库的时候,通常就是把它的头文件路径加入到include path里,然后用尖括号引用头文件。

如果将我们自己的目录加入到indlude path中,那么包含自己的头文件也是可以使用尖括号的。但是不提倡这么做,毕竟用双引号优先搜索当前目录,速度会更快。

以上内容仅为个人观点,实际情况以编译器手册为准。

标签: #include双引号和尖括号 #include 双引号和尖括号 #include双引号与尖括号