【编译器】KEIL 静态链接库和动态链接库

【编译器】KEIL 静态链接库和动态链接库


### 文章目录

  • [@TOC(文章目录)](#文章目录 @TOC 前言 一、工程1——生成静态链接库 1. 代码准备 2. 生成lib文件 二、工程2——调用静态链接库 1.添加.h文件路径 2. 调用生成的lib文件 三、参考资料 总结)
  • [前言](#文章目录 @TOC 前言 一、工程1——生成静态链接库 1. 代码准备 2. 生成lib文件 二、工程2——调用静态链接库 1.添加.h文件路径 2. 调用生成的lib文件 三、参考资料 总结)
  • [一、工程1------生成静态链接库](#文章目录 @TOC 前言 一、工程1——生成静态链接库 1. 代码准备 2. 生成lib文件 二、工程2——调用静态链接库 1.添加.h文件路径 2. 调用生成的lib文件 三、参考资料 总结)
  • [1. 代码准备](#文章目录 @TOC 前言 一、工程1——生成静态链接库 1. 代码准备 2. 生成lib文件 二、工程2——调用静态链接库 1.添加.h文件路径 2. 调用生成的lib文件 三、参考资料 总结)
  • [2. 生成lib文件](#文章目录 @TOC 前言 一、工程1——生成静态链接库 1. 代码准备 2. 生成lib文件 二、工程2——调用静态链接库 1.添加.h文件路径 2. 调用生成的lib文件 三、参考资料 总结)
  • [二、工程2------调用静态链接库](#文章目录 @TOC 前言 一、工程1——生成静态链接库 1. 代码准备 2. 生成lib文件 二、工程2——调用静态链接库 1.添加.h文件路径 2. 调用生成的lib文件 三、参考资料 总结)
  • [1.添加.h文件路径](#文章目录 @TOC 前言 一、工程1——生成静态链接库 1. 代码准备 2. 生成lib文件 二、工程2——调用静态链接库 1.添加.h文件路径 2. 调用生成的lib文件 三、参考资料 总结)
  • [2. 调用生成的lib文件](#文章目录 @TOC 前言 一、工程1——生成静态链接库 1. 代码准备 2. 生成lib文件 二、工程2——调用静态链接库 1.添加.h文件路径 2. 调用生成的lib文件 三、参考资料 总结)
  • [三、参考资料](#文章目录 @TOC 前言 一、工程1——生成静态链接库 1. 代码准备 2. 生成lib文件 二、工程2——调用静态链接库 1.添加.h文件路径 2. 调用生成的lib文件 三、参考资料 总结)
  • [总结](#文章目录 @TOC 前言 一、工程1——生成静态链接库 1. 代码准备 2. 生成lib文件 二、工程2——调用静态链接库 1.添加.h文件路径 2. 调用生成的lib文件 三、参考资料 总结)

前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、工程1------生成静态链接库

1. 代码准备

.c

c 复制代码
#include "delay.H"

void delay_ms(unsigned int x) 
{  
	unsigned int j,i;   
	for(j=0;j<x;j++)   
	{    
		for(i=0;i<1100;i++);   
	}  
}

.h

c 复制代码
void delay_ms(unsigned int x) ;

2. 生成lib文件


二、工程2------调用静态链接库

1.添加.h文件路径

2. 调用生成的lib文件

屏蔽原来的函数

c 复制代码
/**************************************************************************************
ʵÑéÏÖÏó£ºÏÂÔØ³ÌÐòºó"LED&½>>ͨµÆÄ£¿é"µÄD1ָʾµÆÉÁ˸
½ÓÏß˵Ã÷£º STC8Aµ¥Æ¬>>ú-->LED&½>>ͨµÆÄ£¿é
		   P00-->D1	
×¢ÒâÊÂÏUSBÁ¬½ÓÏ߸ø¿ª·¢°åͨµçÏÂÔØ³ÌÐò£¬STCÏÂÔØÈí¼þÖÐÄÚ²¿IRCʱÖÓÑ¡Ôñ11.0592MHZ																				  
***************************************************************************************/


#include "STC8.H"

#include "delay.H"

#define MAIN_Fosc		11059200L	//¶¨ÒåÖ÷ʱÖÓ
#define  uint16   unsigned int  
#define  uint8    unsigned char  

/**********************
Òý½Å±ðÃû¶¨Òå
***********************/			
sbit led1=P0^0;     //ÓÃIO¿ÚP00
 
/**************************************
¹¦ÄÜÃèÊö£ºÑÓʱº¯Êý
Èë¿Ú²ÎÊý£ºuint16 x £¬¸ÃֵΪ1ʱ£¬ÑÓʱ1ms
·µ>>ØÖµ£ºÎÞ
***************************************/
//void delay_ms(uint16 x) 
//{  
//	uint16 j,i;   
//	for(j=0;j<x;j++)   
//	{    
//		for(i=0;i<1100;i++);   
//	}  
//}

/***********************
¹¦ÄÜÃèÊö£ºÖ÷º¯Êý
Èë¿Ú²ÎÊý£ºÎÞ
·µ>>ØÖµ£ºÎÞ
************************/
int main()
{
  P0M1 &= 0xFE;	P0M0 &= 0xFE;	  //ÉèÖÃP0.7Ϊ׼Ë<<Ïò¿Ú

  while(1)
  {
		led1=0;	      //µãÁÁD1ָʾµÆ
		delay_ms(500);
		led1=1;	      //ϨÃðD1ָʾµÆ
		delay_ms(500);
	}
}

编译通过

三、参考资料

Keil的lib生成个人总结
静态链接库和动态链接库
C语言----静态链接库和动态链接库
MDK KEIL程序代码编译成静态库文件及库引用笔记教程
基于keil下的多文件夹打包生成LIB库的操作步骤

总结

本文仅仅简单介绍了【编译器】KEIL 静态链接库和动态链接库,评论区欢迎讨论。

相关推荐
可编程芯片开发2 小时前
基于霍尔传感器和PID控制器的有功功率检测控制系统simulink建模与仿真
算法
To_OC2 小时前
LC 17 电话号码的字母组合:我的回溯算法,就是从这道题开窍的
javascript·算法·leetcode
xingke5 小时前
C 语言多文件编程:(一)头文件、extern、编译链接
c语言·开发语言·多文件
战族狼魂5 小时前
GPT-5.6与Grok 4.5重磅发布
人工智能·算法·大模型·大语言模型
白日焰火15 小时前
基于 OpenSpec 实现规范驱动开发
算法·交互
imuliuliang6 小时前
关于图搜索算法的性能建模与可预测性研究7
算法
wuyk5556 小时前
38.什么是C语言?从语法到工程落地的工程师视角解读
c语言·开发语言·stm32·单片机·mcu·51单片机
ForDreamMusk7 小时前
批量归一化
人工智能·算法·机器学习
Ivanqhz8 小时前
刚体的自由度
人工智能·算法
KaMeidebaby8 小时前
卡梅德生物技术快报|抗体合成:多肽抗体合成工程化方案:Nsp2 保守肽多抗制备与多维度验证
前端·网络·数据库·人工智能·算法