自制keil c51库
在介绍如何自制Keil C51库的过程中,我们需要关注几个关键的知识点。首先是库文件(.lib)的用途,其次是制作库文件的步骤,接着是库文件的组织结构和内容,最后是库文件的使用方法。 1. 库文件的用途: 在Keil C51环境下,制作.lib文件主要是为了封装代码,隐藏源代码的实现细节,同时又提供接口函数供外部调用。这样做的好处是可以保护开发者的知识产权,同时方便其他开发者在不知道内部实现的情况下重用代码。 2. 制作库文件的步骤: a. 新建工程:在Keil中创建一个新工程,假设工程名为“xxx”。 b. 添加源文件:在工程下新建两个文件,分别是“xxx.c”和“xxx.h”。这两个文件应该添加到工程中,并且建议文件名与工程名保持一致。 c. 组织头文件(.h):使用预处理宏(如#ifndef, #define)来防止头文件被重复包含。宏定义应当包含文件名,并且全部使用大写字母,用下划线代替点号,以避免命名冲突。 d. 编辑源文件(.c):编写函数的实现代码,这些函数原型已经在.h文件中声明。 e. 设置工程选项:在Keil的“Project \ Options for Target...”中设置Output选项卡,选中“CreateLibrary”项,以确保编译后生成.lib文件。 f. 编译工程:完成以上设置后,编译工程,将在指定路径下生成想要的.lib文件以及对应的.h文件。 3. 库文件的组织结构和内容: a. 头文件(.h)内容:主要包括宏定义、函数声明、结构体定义、typedef定义等。头文件负责声明供外部调用的函数原型,并且要防止头文件被重复包含。 b. 静态全局变量:在头文件中定义的全局变量要用“static”修饰,以防止其他文件出现重复定义的问题。虽然这样定义的全局变量不能在库外直接访问和修改,但可以通过库内函数的返回值或参数来读取或修改其值。 c. 源文件(.c)内容:负责实现.h文件中声明的函数,编写方法与普通C程序编写相同。 4. 库文件的使用方法: a. 准备文件:使用库之前,需要准备好对应的.h和.lib文件,确保它们一一对应。 b. 复制文件:将这两个文件复制到需要使用该库的工程目录下。 c. 添加库文件到工程:在Keil工程中添加.lib文件。 d. 包含头文件:在需要使用库中函数的.c文件中使用#include指令包含头文件(如#include"xxx.h"),之后即可调用声明在该头文件中的函数。 需要注意的是,头文件中声明的全局变量不能直接在库外访问,如果需要修改这些变量,必须通过库内定义的函数来实现。另外,库文件是二进制文件,而头文件则是库的对外接口文件。库文件的使用应该遵循严格的规定,以保证库的功能正常运行。
- williamZhang19942019-12-16pdf文件详细介绍了怎么把一个c文件变成lib文件。如果把keil目录里面的lib51怎么把lib和obj互转的也介绍一下就更好了。
- loggerjy2013-06-28比较有意义的一篇库制作文章,虽然简单,注意事项精准
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- bdwptqmxgj11.zip
- onnxruntime-win-x86
- onnxruntime-win-x64-gpu-1.20.1.zip
- vs2019 c++20 语法规范 头文件 <ratio> 的源码阅读与注释,处理分数的存储,加减乘除,以及大小比较等运算
- 首次尝试使用 Win,DirectX C++ 中的形状渲染套件.zip
- 预乘混合模式是一种用途广泛的三合一混合模式 它已经存在很长时间了,但似乎每隔几年就会被重新发现 该项目包括使用预乘 alpha 的描述,示例和工具 .zip
- 项目描述 DirectX 引擎支持版本 9、10、11 库 Microsoft SDK 功能相机视图、照明、加载网格、动画、蒙皮、层次结构界面、动画控制器、网格容器、碰撞系统 .zip
- 项目 wiki 文档中使用的代码教程的源代码库.zip
- 面向对象的通用GUI框架.zip
- 基于Java语言的PlayerBase游戏角色设计源码