KEIL 创建静态链接库+ 调用自己创建的静态链接库
1.为什么要创建静态链接库?
当公司或者个人需要提供自己的编写的代码供他人调用时,而你或提供方并不想提供源代码(.c源代码),只想提供头文件.h(在头文件中申明函数)供他人调用,他人在调用时只需要知道调用的函数功能是什么,传递的参数是什么等,无需了解函数是怎样具体实现的。 此时就需要静态链接库(当然还有动态链接库,这里先讲解静态链接库的生成和使用)。
2.如何在KEIL 中生成静态链接库.lib 文件
(1)准备生成的静态链接库的材料:.c 和.h ,如下图:我准备了最简单的aston.c (func1打印信息及func2返回2数相加的值)和aston.h
(2)打开KEIL ,创建或打开一个项目,删除所有的.c和.h 文件,再向项目中添加源材料:: aston.c 、aston.h
(3)更改KEIL 设置: options for Target -->Output 选中 Create Library ,如下图:
(4)设置完成后,点击编译,生成 xxx.lib(该文件就是我们的目标文件:静态链接库,默认生成路径在OBJ文件中)
(5)将生成的xxx.lib文件(例子中文件名:USART.lib)添加到其他的项目中,编译。具体下图:
PS:: 我将USART.lib文件添加在LIB组中。
(6)测试我们生成的静态链接库(使用STM32F10ZET + simulator),测试结果如下:
(8)测试结果正确,例子的函数较简单,读者可根据自己的平时的常用的函数封装成静态链接库(如我们常用stdio.h 、math.h等等)。