KEIL5 头文件路径设置摸索和总结
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 头文件路径设置摸索和总结相关推荐
- linux eclipse 头文件路径,Eclipse CDT标准库头文件设置
使用eclipse cdt开发C/C++项目的时候,从eclipse官网下的linux下的专门版本在Fedora上能自动Discovery机器上的gcc/g++头文件.符号之类的,但是在我用的slac ...
- C语言头文件路径相关问题总结说明
聊聊系统路径位置,绝对路径与相对路径,正斜杠 `/` 与 反斜杠 `\` 使用说明 ...... by 矜辰所致 目录 前言 一.C语言中的头文件引用 二.KEIL 中的头文件路径 2.1 Incud ...
- vs2008 添加头文件路径
在vc6中tools->options->directory可以设置 vs2008怎么设置添加编译的头文件路径的?以下两种途径任选一种 1)在解决方案上点右键打开解决方案属性页,通用属性, ...
- vscode新手注意事项(字体间隔,报错提示波浪线,头文件路径,opencv头文件路径)
一.字体空格 刚安装vscode,不设置字体的话,字体间的间隔会很难受,需要进行如下配置. 在 设置->首选项 选择 文本编辑器->字体 ,将"FONT Family " ...
- MinGW中的头文件路径
这里帮助理解MinGW中,哪些是C++的头文件路径,哪些是C的头文件路径,通常C++程序设置头文件路径的话需要将C++的头文件路径设到C头文件路径的前面. 比如C头文件目录%MINGW_PATH%/i ...
- 5.CCS 配置头文件路径
在CCS工程中,建议在工程属性中添加头文件相对路径,以便程序的移植程序在打包发送给其他人后,工程存放位置不一致时也不需要重新设置头文件路径.在MDK里面通过资源管理器设定好包含头文件的文件夹为头文件路 ...
- C语言头文件路径剖析
在一个软件项目中,如果需要在一个文件中包含另一个头文件时,一般有两种包含方式: #include <stdio.h>#include "module.h" 如果你引用的 ...
- 头文件和源文件不在同一个目录时头文件路径
环境:linux,vim,youcompleteme 头文件和源文件不在一个目录下,但在导入头文件时,不想写完整的头文件路径 比如:正常导入头文件应该写成 #include "/home/ ...
- 【错误记录】Visual Studio 中配置 NDK 头文件路径 ( NDK 的三个头文件路径 | 与 CPU 架构相关 asm 头文件路径选择 )
文章目录 一.报错信息 二.解决方案 1.NDK 的三个头文件路径 2.与 CPU 架构相关 asm 头文件路径选择 一.报错信息 参考 [Android 逆向]Android 进程注入工具开发 ( ...
最新文章
- Halcon 点云拟合平面并获取单位法向量及位姿
- 为什么只有三次挥手_TCP为什么是三次握手,为什么不是两次或四次,TCP四次挥手...
- 【每周CV论文】初学深度学习图像修复应该要读的文章
- Axure - 破解
- WPF绘制光滑连续贝塞尔曲线
- Leetcode--19. 删除链表的倒数第N个节点
- mysql -- 死锁
- jQuery 学习笔记 迭代jQuery对象和非jQuery对象
- excel运行python_使用PyXLL在Excel中执行Python脚本
- python 类变量 none 内存泄露_Python中使用自定义类class作为海量数据结构时内存占用巨大的问题...
- Easy Recovery帮你解决数据丢失的苦恼
- Python热门开源项目TOP10
- Python游戏编程(Pygame)
- 简单易用的拾色器推荐
- 3DGIS+数字孪生技术打造智慧工地监控系统分析
- c#语言打印九九乘法表,C#打印九九乘法表
- MyBatis 报错The error may exist in…….xml
- 案例实践:用SPSS做K均值聚类分析
- 《新型智慧城市总体规划导则》发布
- 智能合约编译器Remix IDE
热门文章
- 【Lesson 13】万能和弦和弦走向
- 气象站可以用计算机分析什么数据,自动气象站监控软件窗口显示信息分析与应用...
- 容易被误解的overflow:hidden
- RedHat 7.8下Redis安装和配置
- 谷物调节肠道菌群,促进代谢健康
- 错题本 (并查集) acwing 4084.号码牌
- 单片机驱动蜂鸣器(有源和无源)
- 2021 ICPC Gran Premio de Mexico 2da Fecha(C,D,G,I)
- Linux学习中Xshell软件出现tom 不在 sudoers 文件中。此事将被报告。
- 看完这篇JVM内存管理机制,面试再也不慌了!