keil中生成个人库文件及调用方法

2018-12-03 19:46

如何在keil中生成个人库文件及调用方法

在网上找了些资料

Keil中如何使用自己生成的LIB库

代码积累多了,大家可能都尝试过自己写个库,方便调用,我最初的办法是把常用的函数放到一个个.C文件里头,要用的时候就把一个个.C添加到Group里面,这种方法就很麻烦了,每次新建一个工程都要ADD半天

这里8279.C,delay_ms.c,watchdog.c,function.c都是我以前写过现在拿来重用的代码

这样做还有一个问题,如果某个函数未调用,编译器就会给一个警告,UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS,\未调用的段,被忽略\,虽然无啥大碍,但看着也挺不爽的 于是自己生成LIB文件,.lib是生成了,但就是没能用,始终有警告 *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL未解析的外部标号

*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL引用外部为解析的段

因为编译器没有找到那个函数的代码,也就未解析了,百度了一下,前几个结果竟然都没给出一个有效的解决办法

其实问题很简单,你在Group上右键ADD时注意一下对话框中允许添加的文件扩展名,除了c,asm之外,还有lib,把你的lib文件加进去,ok了

--------下面是我用库的 一些记录-------------------------------------------------------------------- 库的生成

的使用(在group中添加lib文件),在主调的C文件中include .h文件

KEIL中库可以由多个.obj(与.C对应)组成,而连接是以.obj为最小单元,即某.obj中有函数被调 用时,则整个.obj中所有函数都会被连接到.hex文件

通常为每一个函数编一个.C文件,而整个lib用一个.h文件,这样就可以使只有被调用的函数参与连接

Keil 生成Lib 调用Lib

2011-06-01 16:01:49| 分类: STM32学习 | 标签:lib keil 文件 调用 函数 |字号大中小 订阅 1、维护自己写的代码不被别人乱改动。lib 不是c 代码,不能对它编辑,只能通过.h 文 件调用。所以为了别人能使用你的lib,一定要给他.h 文件。

2、可以把多个.c 文件合成一个lib 文件,这样在工程就不必要把每一个.c 文件都添加一 遍。

3、相比添加.c 文件,它具有不使用已经申明的extern 函数也不会出现Keil 经典的

UNCALLED FUNC warning。更重要的是,不使用的函数编译时不会产生代码,从而大大减 小.hex 文件。这对小容量的单片机来说是非常可贵的。

废话少说,下面以本人刚写的1602 程序为例一个教大家怎么生成和使用lib 文件。 为了实现上面说的lib 的第三个作用,大家要把独立的子函数用不同的.c 分开写。因为

该.c 文件一旦使用,那么里面的子函数就会全部被编译,这样就不能达到不调用能节省rom 的目的了。下面是写好的程序:

编译成功后,在project》options for target》Output 中,其设置如图。

点击确定之后就会在你的工程文件夹中产生一个1602.lib 的文件。

再在keil 的project workplace 中把lib 文件添加进去,并remove 掉除mian 函数的其他.c 文件,如图。

Keil的lib生成个人总结

1

1. 生成lib 的工程可以没有main函数,可以只有一个.c文件,一个.c文件中可以只有一个函数

2. 需要在lib工程中建立一个.h文件,

必须用extern

声明各全局变量和函数.

3. 调用lib文件的工程中必须包括lib中的.h文件, 也就是lib工程和调用工程都包含同一个.h文件(好像有点废话) 2.Lib的文件要分的细一点,没有调用关系的两个函数不要放到同一个C文件中. 没有调用关系的最好是一个函数单独放在一个.c文件中.这是为了避免在keil中应用程序调用lib库里出现告警. 因为LIB51在链接的时候是按模块来链接的,一个模块就对应一个C文件,假如链接器因为要使用你一个函数fA而引入了A模块,那么A模块中的另外的函数也会被引入,而另外的函数你又没有使用的话,那么就会引发Keil经典的UNCALLED FUNC的warning。

通常为每一个函数编一个.C文件,而整个lib用一个.h文件,这样就可以使只有被调用的函数参与连接

3.调用lib库时需要在工程中将.lib文件加进来. 在Group中右键,然后Add ,注意文件类型中选择*.lib. 暂时就总结到这里,很重要哟.


keil中生成个人库文件及调用方法.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:初级会计实务(2017) 第07章 财务报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: