1、打开Telink IDE,点击File->New->C Project
2、按照以下步骤选择,我们静态库名字为my_lib,之后点击Finish
点击Finish之后,显示如下
3、鼠标点击my_lib,右键New->Source File 新建源文件
输入需要新建的源文件名,这里是test.c
点击Finish之后显示如下
4、我们再新建一个头文件,鼠标点击my_lib,右键New->Header File 新建源文件
输入需要新建的头文件名,这里是test.h
点击Finish之后显示如下
5、编写静态库代码
这里简单写一个获取最大值的函数
int get_max(int a,int b)
{
return a > b ? a:b;
}
头文件声明函数
点击开始编译程序
编译成功显示如下
最终发布库时,可以通过点击下拉框,选择Release,重新生成发布的库,这样可以节省更多代码空间
我们在Debug、Release文件夹可以看到生成的libmy_lib.a文件,这个就是静态库文件
6、使用静态库
这里我们随便打开一个官方的工程
把需要使用的静态库.a文件复制到工程的proj_lib文件夹下
鼠标点击工程名,右键点击Properties
按以下步骤执行
输入静态库名字,注意IDE生成的静态库带有前缀lib,比如我们前面生成的是libmy_lib,前缀不用写出,比如我们下面写的是my_lib
这里选择库文件的路径,我们的库文件是放到根目录的proj_lib文件夹下,之后点击OK
7、调用静态库函数
把静态库的头文件复制到工程
在需要使用库的文件中包含头文件
调用库函数
注意:设置结构体的内存对齐方式,打勾时为1个字节对齐,如果库的对齐方式和应用的对齐方式不一样时,可能访问的变量不正确。
或者使用以下方式说明结构体的对齐
#pragma pack (1) //1个字节对齐
typedef struct{
} data_t;
#pragma pack () //取消自定义对齐