嵌入式项目中,各种包含头文件区别及利弊

好的编程习惯,会直接影响代码的质量,在嵌入式C/C++中,头文件的引用方式和方法有多种,同时一些细节也会影响你代码质量和编译效率。
下面就来说说与头文件有关的知识;

嵌入式专栏

1

引号“”和尖括号<>

#include使用引号“” 还是 尖括号<> 这个是有规定的。

通常来说:系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找

#include <xxx.h>

用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找。

#include 'xxx.h'
这里可以参看我之前分享的一篇文章:#include使用引号“”和尖括号<>的区别?

嵌入式专栏

2

引用头文件路径问题

一个项目通常有多个源文件,你要让编译器找到这些存储在不同路径下的源文件,就必须要让编译器知道源代码所在(路径)位置。

引用头文件路径的方式有多种,在代码中添加路径,在IDE工具中添加路径,还有分绝对路径和相对路径。下面就来简单说说:

1.源代码中引用头文件

不使用集成开发环境(IDE),通常会在源代码中添加路径信息,比如在源代码文件中引用头文件:
#include '/strongerhuang/robot/project/bsp/bsp_uart.h'#include '../bsp/bsp_uart.h'
但是,你会发现上面那个引用有什么区别吗?
一个是绝对路径:
#include '/strongerhuang/robot/project/bsp/bsp_uart.h'
一个是相对路径:
#include '../bsp/bsp_uart.h'

2.IDE工具中引用头文件

我们使用的Keil、IAR这种工具,可以不用像上面那样,在源代码中添加路径头文件,只需要在工程中配置编译路径即可。
比如Keil MDK:
通过菜单 Project -> Options for Taget -> C/C++:
Keil MDK默认是相对(工程文件的)路径。
(0)

相关推荐