【编译器】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 静态链接库和动态链接库,评论区欢迎讨论。

相关推荐
晓蛋5 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
倒头就睡的小比特5 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊5 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿5 天前
重载、重写(覆盖)、重定义区别
c语言
猎头南楼5 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
phltxy5 天前
C 语言指针:从内存地址到灵活的数据访问
c语言
phltxy5 天前
C 语言中的数据存储:从类型到二进制位
c语言
旖旎夜光5 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark5 天前
大规模并行计算中的负载均衡算法研究4
算法