静态库lib调试_怎样注册库lib文件

静态库lib调试_怎样注册库lib文件keil和IAR的lib静态库的生成和调用基本是一致的,静态库的使用可以大大精简项目工程的复杂度

静态库lib调试_怎样注册库lib文件"

一.lib静态库的使用具有一下优点:
1.封装源代码,对外不开放,提高保密性。
2.将标准功能函数封装成库,提高代码的复用性。
3.使用库开发,简化开发流程,提高开发效率。
4.系统调用库函数,提高执行效率。

二.keil环境下Lib库的生成
1.修改编译输出方式选择为Create Library,也就是输出为创建lib库,并在2处输入库的名称。

2.选中需要编译为库的文件,也就是将不需要编译的文件或文件夹排除编译。
首先选中不需要编译的文件或文件夹右击,选择options…选项,如下所示:

然后将include in Target Build 选项框不选中,如下所示:

3.选择之后系统工程文件夹如下所示,可以看出只剩hututu_test.c文件参与编译。

4.重新编译整个工程后输出如下:

5.编译完成后可在选中输出文件夹中生成.lib文件

至此lib库生成成功。

三.keil环境下Lib库的调用
lib库生成之后需要调用该库,以替代原有的c文件,具体步骤如下:
1.首先将系统编译输出选项更改为可执行文件,如下所示:

2.将lib文件添加到系统工程中

3.将之前参与编译的c文件从系统中移除(因为库文件替代了这部分代码的功能)

4.重新编译工程,结果如下,可以看出库文件使用生效。替代了原来部分c文件的作用。

至此,库文件的调用测试结束。

四.IAR环境下Lib库的生成
1.修改编译输出方式选择为Output—->Library,也就是输出为创建lib库,并在2处选择库保存路径并输入库的名称。

2.选中需要编译为库的文件,也就是将不需要编译的文件或文件夹排除编译。
首先选中不需要编译的文件或文件夹右击,选择options…选项,然后勾选Exclude from build,也就是排除编译,最后就剩下hututu_test.c文件参与编译,如下所示:

3.重新编译整个工程后结果以及生成的lib文件如下所示:

至此,整个工程编译生成Lib文件完成。

五.IAR环境下Lib库的调用
lib库生成之后需要调用该库,以替代原有的c文件,具体步骤如下:
1.首先将系统编译输出选项更改为可执行文件,如下所示:

2.将lib文件添加到系统工程中

3.将之前参与编译的c文件从系统中移除(因为库文件替代了这部分代码的功能)

4.重新编译工程,结果如下,可以看出库文件使用生效。替代了原来部分c文件的作用。

至此,库文件的调用测试结束。

六.总结
  keil和IAR的lib静态库的生成和调用基本是一致的,静态库的使用可以大大精简项目工程的复杂度。静态库的生成只是对源文件(.c文件)的封装,并不设计到.h头文件,因此lib库的使用需配合头文件(只是用lib替代了诸多.c文件),在我们封装好lib库要给别人使用时,只需要把lib库和.h文件发给别人即可,方便高效。
七.注意事项

1.静态库与外部参数传递不能使用宏定义,因为宏定义在库打包时已经将宏定义值固定了,需要用变量传递参数。

2.库中调用过的结构体变量在库打包之后不能修改结构体变量中的变量,否则调用库中的函数不能正常运行,但是编译不会报错。

3.静态库编译连接:库中的函数入口地址和变量地址是在库添加到工程时统一编译连接分配的,因此不同工程打包出来的静态库可以混合使用。
 

原文:keil和IAR中lib库文件的生成和使用_keil调用lib库-CSDN博客

原文:静态库Lib使用注意_静态库包含了宏定义,调试进入没有包含-CSDN博客

今天的文章
静态库lib调试_怎样注册库lib文件分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81184.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注