说通俗点, *.lib 文件就是 *.obj 文件的集合。*.obj 文件是 *.c 或*.asm(单片机中)编译的目标文件。这样一来,如果可以的话可以自己把经常用的函数、变量等 放在 *.lib 文件里就好了。
工程目录
*.M51 文件的一部分
其实在单片机中使用的 一些函数就是在 *.lib 中封装的。你可以打开用keil些的一个工程如上图我写的是一个2.4寸触摸屏。我已经把要用的函数封装在C51S.lib文件中了。所以只有 main.c 文件。打开 文件夹里的 *.M51 文件如图所示。一目了然使用了哪些MODULES。
好了现在可以开始创建自己库。在KEIL的安装目录中 *\C51\Hlp\lib51.chm有关于库命令的说明可以参考不过有一点就是 *.h 文件, 大家可以看见在 *\C51\INC 里有很多 *.h 文件。为什么要呢? 问了 声明 使用。如果不声明main函数是找不到的 编译就出错,而 *.lib 是链接使用的。所以 要添加 你的 *.h 文件到 INC 目录里 。里面放函数变量的声明就可以啦!
简单的方法 用命令行:比如 uart 的使用 你自己写了 传输 接受的 函数 在 uart.h 文件里声明。在 uart.c文件里实现。那么,在工程目录里就应该有uart.obj文件。好了开始定制。把 uart.h 拷贝靠 keil 的 INC 目录,uart.obj 拷到 LIB 目录。对了,还有一点:为了使用方便把 *\C51\BIN 添加到 path 环境变量中。好了,打开 cmd 进入 keil 的LIB目录。 输入命令 lib51:
lib51
可以了添加库了,使用 add *.obj to *.lib 其中 *.obj 是你刚才拷过来的uart.obj *.lib 是任意名字 可以是 存在的 也可使不存在的。一切完成你可以像使用 _cror_() 函数一样 使用你自己定制的函数了。
另一种方法是 使用 Keil IDE 设置 帮助文档里有 很简单。
|