KEIL mdk LIB 使用总结

来源:互联网 发布:网络销售贵金属好做吗 编辑:程序博客网 时间:2024/04/30 01:47


        转载:http://blog.csdn.net/zhzht19861011/article/details/5964827  作者:zhzht19861011   Keil MDK入门---从新建一个工程开始

此为朱工的专栏,是学习嵌入式实时系统的好去处。 

转载:http://blog.csdn.net/yangluoning/article/details/8971217  作者:yangluoning



1、:打开一个测试通过的工程。

(测试没有问题后将不需要的部分删除,包括main.c文件,即你不想生成lib的 各类xx.c文件删除。当然你也可以

将各类不想编译生成lib的文件Options for file->Properties下的Include in Target Build前的对勾去掉,这样该文件也不会被编译生成Lib。或者将整个Options for Group->Properties下的Include in Target Build前的对勾去掉

2、在Project->Options for Target->Output下,选择Create Library。


3、重新编译,即可在原本生成Hex文件的目录下找到*.lib文件。


4、打开原工程,只需将原来的.c文件移除,添加进该.lib文件即可使用。


以下为本人转载: 题名《keil中生成个人库文件及调用方法》 上传者:13572089021  来自百度文库

备注要点:

1. 生成lib 的工程可以没有main函数,可以只有一个.c文件,一个.c文件中可以只有一个函数 
2. 需要在lib工程中建立一个.h文件, 必须用extern声明各全局变量和函数. 
3. 调用lib文件的工程中必须包括lib中的.h文件, 也就是lib工程和调用工程都包含同一个.h文件(好像有点废话) 

4、.Lib的文件要分的细一点,没有调用关系的两个函数不要放到同一个C文件中. 没有调用关系的最好是一个函数单独放在一个.c文件中.这是为了避免在keil中应用程序调用lib库里出现告警. 因为LIB51在链接的时候是按模块来链接的,一个模块就对应一个C文件,假如链接器因为要使用你一个函数fA而引入了A模块,那么A模块中的另外的函数也会被引入,而另外的函数你又没有使用的话,那么就会引发Keil经典的UNCALLED FUNC的warning。 
通常为每一个函数编一个.C文件,而整个lib用一个.h文件,这样就可以使只有被调用的函数参与连接 
5.调用lib库时需要在工程中将.lib文件加进来. 在Group中右键,然后Add ,注意文件类型中选择*.lib.



0 0
原创粉丝点击