keil4中头文件路径设置的方法汇总

发布者:as8849402最新更新时间:2015-08-21 来源: eefocus关键字:keil4  头文件  路径设置 手机看文章 扫描二维码
随时随地手机看文章
个人记录:
感觉相对路径比较方便。
keil是从project文件所在目录找头文件,头文件的相对目录是相对.uvproj文件的。
目前我的个人习惯是
建立:Doc、Listing、Output、Project、User几个文件夹
Doc放文档和readme
Listing设置为配置中的清单选项卡输出文件夹
Output设置为输出文件夹
Project放建立的工程文件
User放自己写的.c和.h(这部分后期可能做更改)
还可以有OS等操作系统的文件夹。
在这种情况下,包含头文件用相对方式写的话就是类似于:
#include <..Userallkeillibrary.h>   
#include <..UserSTC12C5A60S2.h>
#include <..UserMyType.h>
#include <..Userdeclare.h>
#include <..UserstcY3_delay.h>
#include <..Userhmc5883l.h>
#include <..Usermpu6050.h>
#include <..UserSerial.h>
#include <..Userpmw3610.h>
#include <..Userdata.h>
//#include <..Userkalman.h>
 
 
以下是转载的正文:

被头文件的路径设置困扰了很长时间,现在终于知道了!

在keil4中头文件路径设置的方法:

假设这里有若干个文件,分别是:

main.c dong.c peng.h

其中,main.c和dong.c都依赖与peng.h。他们的内容分别如下:

main.c:

绝对路径是:E:MY_DocumentskeilC51includeffdduu

dong.h:

绝对路径是:E:MY_DocumentskeilC51includekkki sdfbh

peng.h:

 

绝对路径是:E:MY_DocumentskeilC51includeddjjppkk

 

这里说明一下:

在windows环境下: " . "表示当前目录, " .. "表示当前目录的上一级目录,并且 ".."可以连用,也就是可以写成 " ......"表示当前目录的上级目录的上级目录的上级目录。

而在linux环境下," ./ "表示当前目录, " ../ "表示当前目录的上一级目录,并且 "../"可以连用,也就是可以写成 " ../../../"表示当前目录的上级目录的上级目录的上级目录

这里我将他们分别放在不同的文件夹下面,由于后缀为.c的源文件只要添加到工程之中就会参加编译,并且必须添加到工程之中。所以这里只总结一下几种头文件目录的添加方法。

 

  方法一 在keil的开发环境下添加:

 

   

  1.  

   

  1.  

   

请注意上面的系统生成的头文件目录是:,即.ddjjppkk,其中.是相对于项目文件.uvproj 而言的,其中 . 表示项目文件所在的当前目录, 项目文件的绝对路径是:E:MY_DocumentskeilC51include,peng.h的绝对路径是:E:MY_DocumentskeilC51includeddjjppkk,很容易看到,peng.h文件就在E:MY_DocumentskeilC51include的ddjjppkk目录下。

 

假如项目文件在E:单片机系列嵌入式uCOSuCOS-ii 版uCOSII2.91MDK-ARM下,而其中一个头文件在:E:单片机系列嵌入式uCOSuCOS-ii 版uCOSII2.91USERuCOS-IISource

下,那么在keil环境下设置产生的头文件目录是:..USERuCOS-IISource。

 

 

方法二 绝对路径法

即将头文件的绝对路径写到#include之后。如下:

在main.c中:

在dong.c中:

 

 

方法三、相对路径法

peng.h的绝对路径是:E:MY_DocumentskeilC51includeddjjppkk

main.c的绝对路径是:E:MY_DocumentskeilC51includeffdduu

dong.c的绝对路径是:E:MY_DocumentskeilC51includekkki sdfbh

 

通过分析可以得到peng.h相对于main.c路径是:

......ddjjppkk

peng.h相对于dong.c的路径是:

........ddjjppkk

所以在main.c中修改如下:

在dong.c中修改如下:

方法四 、相对目录+相对目录

在有的 .c 文件中,头文件有如下表示方法:

如有os_dbg.c,其中头文件是这样写的:

#include "uCOS-IISourceucos_ii.h" ,或者写成 #include

而os_dbg.c的绝对路径是:E:单片机系列嵌入式uCOSuCOS-ii 版uCOSII2.91USERuCOS-IIPortsARM-Cortex-M3RealView

ucos_ii.h的绝对路径是:E:单片机系列嵌入式uCOSuCOS-ii 版uCOSII2.91USERuCOS-IISource

在keil环境中的头文件路径设置中有:

当前.uvproj的绝对路径是:E:单片机系列嵌入式uCOSuCOS-ii 版uCOSII2.91MDK-ARM

可以看到, " ..USER " + "uCOS-IISourceucos_ii.h"不就是ucos_ii.h相对于.uvproj 的路径吗?即 "..USERuCOS-IISourceucos_ii.h"。


关键字:keil4  头文件  路径设置 引用地址:keil4中头文件路径设置的方法汇总

上一篇:Stm32、STC的命名原则
下一篇:搭建使用 RTX51-Tiny 的 C51 Keil 项目环境

推荐阅读最新更新时间:2024-03-16 14:29

STM8单片机工程师之路三-.C和.H头文件的区别
我是学习个单片机的笨蛋一枚,今天我终于了解了一点点变编程的思想 明白了一些之前不懂得东西,以此记录我的单片机工程师之路。仅仅适用于初学者。 首先我就是世界上最笨蛋得菜鸟, 以下只是我自己的理解!!!!望高手给予批评! 适用于分块模块中 1. XX.c 文件是干什么的? 答:声明变量。写能够实现功能的函数。 2. XX.h 文件是干什么的? 答:链接.c文件中的函数名或者变量名。 编程流程大致如下: main.c文件执行 找.h文件函数名或者变量名 找对应的.C文件中的函数。 XXX.h 文件 #ifndef _XXX_H_ #define _XXX_H_ extern 函数名; extern 变量名; ... ...
[单片机]
AVRGCC常见库函数和头文件介绍
一、库函数头文件介绍 库函数按不同的类别声明在不同的头文件中,以字母为序分别介绍头文件:  ctype.h:字符类型函数  eeprom.h:EEPROM 访问函数  errno.h:错误处理函数  ina90.h:与IAR C兼容的头文件  interrupt.h:中断处理函数  inttypes.h:定义不同的数据类型  io.h:包含寄存器定义和其它头文件  math.h:数学函数  pgmspace.h:与IAR C兼容的头文件,内含对Flash存储器中数据读写函数  progmem.h:与pgmspace.h 头文件相同  setjmp.h:长跳转函数  sig-avr.h:与signal.h相同,旧版头文件,建议不使用 
[单片机]
[C51代码]LCD12864头文件[上下屏]
型号:LCD12864a3 驱动器:ST7920A 汉字显示坐标图: 图形显示坐标图: /*==================== lcd12864.h =====================*/ #ifndef _LCD12864_h_ #define _LCD12864_h_ #include Atmel/AT89X51.h #include delay.h #include link.h /*================= ST7920LCD 定义 ===================*/ sbit lcd_rs=P2^6; sbit lcd_rw=P2^5; sbit lcd_e=P2
[单片机]
[C51代码]LCD12864<font color='red'>头文件</font>[上下屏]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved