KEIL5 头文件路径设置摸索和总结

1.常识

1.1绝对路径和相对路径的认知:

绝对路径:是从盘符开始的路径,形如
C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
要描述上述路径,只需输入
system32\cmd.exe
实际上,严格的相对路径写法应为
.\system32\cmd.exe
其中,.表示当前路径。
假如当前路径为c:\program files
要调用上述命令,则需要输入
…\windows\system32\cmd.exe
其中,…为父目录。
当前路径如果为c:\program files\common files
则需要输入
…\windows\system32\cmd.exe

1.2在windows环境下的相对路径表示

" .\ "表示当前目录,
" …\ "表示当前目录的上一级目录,
并且 "…"可以连用,也就是可以写成 " …"表示当前目录的上级目录的上级目录的上级目录。

1.3

#include <xxxx.h>
直接访问软件安装位置的库文件
#include “xxxx.h”
先访问程序定义头文件的位置,没找到再去库文件查找文件。

1.4

#include “./ucos_ii.h”
#include “.\ucos_ii.h”
#include “ucos_ii.h
三者效果一致
以后采取统一标准的写法,即
#include “.\ucos_ii.h”

2.路径设置摸索

2.1软件项目的目录示意




软件程序中个文件的目录框架

2.2options for target 中的路径设置


选择路径时是绝对路径

在这里显示的是相对路径了
说明在这里,将绝对路径转化为相对路径了。
在这里,提出一个问题:
如果我想用相对路径方式来调用头文件的话,我必须清楚当前路径是什么!

从上面两张图可以推断出当前路径是什么,推断过程如下:
假设当前路径时main.c文件所在位置,即
E:\05_Program\03_Keil4\a20190115_can_rs485_lpc1766_01(locked)\UserCode\Source
那么Project这个文件夹所应表示的相对路径应为:
…\Project
那么Source这个文件夹所应表示的相对路径应为:
…\Source
因此可以判定,当前路径不是main.c文件所在的位置。

假设当前路径时LPC1700.uvproj文件所在位置,即E:\05_Program\03_Keil4\a20190114_can_rs485_lpc1766_01(locked)\Project
那么Project这个文件夹所应表示的相对路径应为:
…\Project
那么Source这个文件夹所应表示的相对路径应为:
…\UserCode\Source
因此可以判定,当前路径是LPC1700.uvproj文件所在的位置。

若是依旧不确定,可以尝试着将文件的绝对路径再次更改下,即可确认是否正确。

3.路径设置方式

3.1方式1

在“options for target ‘LPC1700’的C/C++中的include paths”中包含所有头文件所在的路径;比如:gpio.c这个源文件要调用uart.h、gpio.h、config.h这两个头文件,那包含路径的写法如下:
#include “gpio.h”
#include “uart.h”
#include “config.h”
这种写法有时候会出现编译错误,也就是给人感觉一团乱。我不喜欢,没存在感!

3.2方式2

以自身文件(源文件或头文件)所在的路径为基准,找其他的头文件,比如:gpio.c这个源文件要调用uart.h、gpio.h、config.h这两个头文件,那包含路径的写法如下:
#include “.\gpio.h”
#include “…\Uart\uart.h”
#include “…\UserCode\Source\config.h”
这一种路径定义的方式可以确认每一条路径设置的正确姿势,前提是对整个软件的架构很熟悉,我建议采用这种,可以确保路径的指向是正确的。

KEIL5 头文件路径设置摸索和总结相关推荐

  1. linux eclipse 头文件路径,Eclipse CDT标准库头文件设置

    使用eclipse cdt开发C/C++项目的时候,从eclipse官网下的linux下的专门版本在Fedora上能自动Discovery机器上的gcc/g++头文件.符号之类的,但是在我用的slac ...

  2. C语言头文件路径相关问题总结说明

    聊聊系统路径位置,绝对路径与相对路径,正斜杠 `/` 与 反斜杠 `\` 使用说明 ...... by 矜辰所致 目录 前言 一.C语言中的头文件引用 二.KEIL 中的头文件路径 2.1 Incud ...

  3. vs2008 添加头文件路径

    在vc6中tools->options->directory可以设置 vs2008怎么设置添加编译的头文件路径的?以下两种途径任选一种 1)在解决方案上点右键打开解决方案属性页,通用属性, ...

  4. vscode新手注意事项(字体间隔,报错提示波浪线,头文件路径,opencv头文件路径)

    一.字体空格 刚安装vscode,不设置字体的话,字体间的间隔会很难受,需要进行如下配置. 在 设置->首选项 选择 文本编辑器->字体 ,将"FONT Family " ...

  5. MinGW中的头文件路径

    这里帮助理解MinGW中,哪些是C++的头文件路径,哪些是C的头文件路径,通常C++程序设置头文件路径的话需要将C++的头文件路径设到C头文件路径的前面. 比如C头文件目录%MINGW_PATH%/i ...

  6. 5.CCS 配置头文件路径

    在CCS工程中,建议在工程属性中添加头文件相对路径,以便程序的移植程序在打包发送给其他人后,工程存放位置不一致时也不需要重新设置头文件路径.在MDK里面通过资源管理器设定好包含头文件的文件夹为头文件路 ...

  7. C语言头文件路径剖析

    在一个软件项目中,如果需要在一个文件中包含另一个头文件时,一般有两种包含方式: #include <stdio.h>#include "module.h" 如果你引用的 ...

  8. 头文件和源文件不在同一个目录时头文件路径

    环境:linux,vim,youcompleteme 头文件和源文件不在一个目录下,但在导入头文件时,不想写完整的头文件路径 比如:正常导入头文件应该写成  #include "/home/ ...

  9. 【错误记录】Visual Studio 中配置 NDK 头文件路径 ( NDK 的三个头文件路径 | 与 CPU 架构相关 asm 头文件路径选择 )

    文章目录 一.报错信息 二.解决方案 1.NDK 的三个头文件路径 2.与 CPU 架构相关 asm 头文件路径选择 一.报错信息 参考 [Android 逆向]Android 进程注入工具开发 ( ...

最新文章

  1. Halcon 点云拟合平面并获取单位法向量及位姿
  2. 为什么只有三次挥手_TCP为什么是三次握手,为什么不是两次或四次,TCP四次挥手...
  3. 【每周CV论文】初学深度学习图像修复应该要读的文章
  4. Axure - 破解
  5. WPF绘制光滑连续贝塞尔曲线
  6. Leetcode--19. 删除链表的倒数第N个节点
  7. mysql -- 死锁
  8. jQuery 学习笔记 迭代jQuery对象和非jQuery对象
  9. excel运行python_使用PyXLL在Excel中执行Python脚本
  10. python 类变量 none 内存泄露_Python中使用自定义类class作为海量数据结构时内存占用巨大的问题...
  11. Easy Recovery帮你解决数据丢失的苦恼
  12. Python热门开源项目TOP10
  13. Python游戏编程(Pygame)
  14. 简单易用的拾色器推荐
  15. 3DGIS+数字孪生技术打造智慧工地监控系统分析
  16. c#语言打印九九乘法表,C#打印九九乘法表
  17. MyBatis 报错The error may exist in…….xml
  18. 案例实践:用SPSS做K均值聚类分析
  19. 《新型智慧城市总体规划导则》发布
  20. 智能合约编译器Remix IDE

热门文章

  1. 【Lesson 13】万能和弦和弦走向
  2. 气象站可以用计算机分析什么数据,自动气象站监控软件窗口显示信息分析与应用...
  3. 容易被误解的overflow:hidden
  4. RedHat 7.8下Redis安装和配置
  5. 谷物调节肠道菌群,促进代谢健康
  6. 错题本 (并查集) acwing 4084.号码牌
  7. 单片机驱动蜂鸣器(有源和无源)
  8. 2021 ICPC Gran Premio de Mexico 2da Fecha(C,D,G,I)
  9. Linux学习中Xshell软件出现tom 不在 sudoers 文件中。此事将被报告。
  10. 看完这篇JVM内存管理机制,面试再也不慌了!