Keil MDK生成LIB库以及使用LIB库

一.keil下lib静态库的使用具有以下优点:

1.封装源代码,对外不开放,提高保密性。

2.将标准功能函数封装成库,提高代码的复用性。

3.使用库开发,简化开发流程,提高开发效率。

4.系统调用库函数,提高执行效率。

二.keil环境下Lib库的生成

1.建立一个keil空的工程(如果库代码和处理器无关,处理器型号选哪个都可以)

2.修改编译输出方式选择为Create Library,也就是输出为创建lib库,如图所示:

3.可以有多个c文件和.h文件。

注:外部需要调用的.h文件可以包含在lib工程中一起编译,也可以不包含。

4.重新编译整个工程,编译完成后可在选中输出文件夹(Objects)中生成.lib文件:

至此lib库生成成功。

三.keil环境下Lib库的调用

   lib库生成之后需要调用该库,以替代原有的c文件,具体步骤如下:

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

2.将之前参与编译的c文件从系统中移除(因为库文件替代了这部分代码的功能),或者lib库中的功能是新增的。

3.将需要调用的lib库的.h文件放到工程目录下。

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

三.lib库工程代码

下载路径:https://download.csdn.net/download/xieliru/89468519

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/31879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

51单片机STC89C52RC——5.1 LCD1602液晶显示屏

目录 目的 一,STC单片机模块 二,LCD1602 2.1 模块简介 2.2 针脚 2.3 DDRAM地址与显示器对应关系 2.4 标准字库表 2.5 常用指令 2.6 读写操作 三,创建Keil项目 四,代码 五,代码编译、下载到51单片机 六&a…

PyTorch -- Batch Normalization(BN) 快速实践

Batch Normalization 可以 改善梯度消失/爆炸问题:前面层的梯度经过多次传递后会变得非常小(大),从而导致网络收敛速度慢(不收敛),应用 BN 可缓解加速网络收敛:BN 使得每个神经元的输入分布更加稳定减少过拟合:BN 可减…

【ajax基础01】ajax简介

目录 一:ajax简介 1 什么是ajax 二:ajax使用 1 如何使用ajax 2 axios使用(重点) 三:案例 四:如何赚钱 一:ajax简介 1 什么是ajax AJAX(Asynchronous JavaScript And XML &am…

展厅装修时候需要注意哪些细节

1、视觉方面 展厅应该具有很强的视觉冲击力。只有这样不论是领导视察还是合作的客户进行参观的时候才会对展厅产生浓厚的兴趣,同时产生一种亲和力,并直接加深对企业的识别度和记忆度。而个性化设计要跟企业文化相符合。这里,企业标志为寻求个…

为何云原生是未来?企业IT架构的颠覆与重构

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是云原生 2、云原生的背景和起源 背景 起源 关…

[JS]数据类型

介绍 在计算中一切事物都是数据, 为了提高数据的存储和使用效率, 要对数据进行类型的分类 栈(操作系统): 由操作系统自动分配释放函数的参数值, 局部变量的值等, 其操作方式类似于数据结构中的栈; 基本数据类型存放在栈里面string, number, boolean, undefined, null 堆(操作…

matplotlib 创建多个子图

有些时候我们需要用for循环来创建多个子图,来对比特征。现在已画出8组随机数来作为示例。 from matplotlib import pyplot as plt import numpy as np #设置画布大小 figplt.figure(figsize(20,8)) #解决中文乱码问题 plt.rcParams[font.sans-serif] [SimHei] fo…

【2024最新精简版】Kafka面试篇

文章目录 Kafka和RabbitMQ什么区别讲一讲Kafka架构你们项目中哪里用到了Kafka?为什么会选择使用Kafka? 有什么好处 ?使用Kafka如何保证消息不丢失 ?消息的重复消费问题如何解决的 ?Kafka如何保证消费的顺序性 ?Kafka的高可用机制有了解过嘛 ?Kafka实现高性能的设计有了解…

[C#]winform基于opencvsharp实现黑白图像上色

【算法简介】 技术有时会提高艺术,但有时也会破坏艺术。着色黑白电影是一个可以追溯到1902年的古老想法。几十年来,许多电影创作者反对将黑白电影着色的想法,并将其视为对艺术的破坏。但今天它被接受为艺术形式的增强。该技术本身已经从艰苦…

PCB行业迈入数字化新时代,智能工厂引领未来制造

在传统的PCB生产过程中,人工操作、纸质记录、经验判断等方式占据了主导地位。然而,这种方式不仅效率低下,而且容易出现误差,导致产品质量不稳定。同时,随着市场竞争的加剧,客户对产品的交期、质量、成本等方…

自制HTML5游戏《开心消消乐》

1. 引言 游戏介绍 《开心消消乐》是一款基于HTML5技术开发的网页游戏,以其简单的操作方式、轻松的游戏体验和高度的互动性,迅速在社交平台上获得了广泛的关注和传播。玩家通过消除相同类型的元素来获得分数,游戏设计巧妙,易于上手…

力扣SQL50 项目员工 I ROUND AVG

Problem: 1075. 项目员工 I 👨‍🏫 参考题解 Code select project_id,ROUND(AVG(e.experience_years),2) as average_years FROMproject as p LEFT JOINemployee as e ONp.employee_id e.employee_id GROUP BYp.project_id;

SUSE linux 15的网络管理

1 手工配置网络 wicked提供了一种新的网络配置框架。自SUSE 12起,SUSE使用了新的网络管理工具wicked,这个是区别与其他常见发行版的。常见的发行版目前大多使用的是NetworkManager服务进行网络管理。 1.1 wicked网络配置 传统网络接口管理面临的挑战之…

sdlan如何智能组网?

【天联】组网是一款异地组网内网穿透产品,由北京金万维科技有限公司自主研发,旨在解决不同地区电脑与电脑、设备与设备、电脑与设备之间的信息远程通信问题。【天联】的操作简单、跨平台应用、无网络要求以及独创的安全加速方案等特点,使得它…

什么是局域网IP?

局域网IP(Local Area Network IP)指的是在局域网内使用的IP地址。局域网是指在某个地理区域内,由一组相互连接的计算机组成的小型网络,常见于家庭、学校、办公室等场所。局域网IP可以用来实现内网穿透,即在复杂的网络环…

【性能优化】表分区实践最佳案例

背景 随着数字化建设的持续深入,企业的业务规模迎来了高速发展,其数据规模也呈现爆炸式增长,如果继续使用传统解决方案,将所有数据存储在一个表中,对数据的查询和维护效率将是一个巨大的挑战,在这个背景下…

MySQL数据备份操作步骤

常见的数据备份命令 备份命令备份速度恢复速度介绍功能适用场景lvm2快照快快一般、支持几乎热备、速度快一般中小型数据量的备份cp快快物理备份、灵活性低很弱少量数据备份xtrabackup较快较快实现innodb热备、对存储引擎有要求强大较大规模的备份mysqldump慢慢逻辑备份、适用所…

【React】AntD组件---极客园--01.项目前置准备

项目搭建 基于CRA创建项目 CRA是一个底层基于webpack快速创建React项目的脚手架工具 # 使用npx创建项目 npx create-react-app react-jike# 进入到项 cd react-jike# 启动项目 npm start调整项目目录结构 -src-apis 项目接口函数-assets 项目资源文件&…

制作WIFI二维码,实现一键扫描连接WIFI

在现代社会,Wi-Fi已成为我们日常生活中不可或缺的一部分。无论是在家庭、办公室还是公共场所,我们都希望能够快速方便地连接到Wi-Fi网络。下面小编就来和大家分享通过制作WIFI二维码,来实现一键扫描就可以连接WIFI的方法。连接WIFI不用在告诉…

【仿真建模-anylogic】INetwork相关接口说明

Author:赵志乾 Date:2024-06-22 Declaration:All Right Reserved!!! 1. 类图 2. 说明 INetwork为辊道网络、路线网路的顶层接口,其组成元素有节点和路径两种,对应的接口为INode、IP…