KEIL C51 程序编译
1. keil目录
ASM:放置汇编语言的头文件,格式为xx.inc。inc是include的简写。
BIN :放置了编译所需的可执行文件(.exe)和动态链接库(.dll)。binary简写。
INC:放置C语言的头文件,格式为xx.h。
LIB:放置编译过程中所需的静态链接库(.lib)。library的简写。
hlp:帮助文件。help的简写。
example:例子。
RtxTiny2:keil自带的RTX51操作系统。
flashMon,MON51,MON390:目标监视器。
ISD51:调试器。
2. BIN目录内可执行文件
C51.EXE/CX51.EXE:C语言编译器。
A51.EXE/AX51.EXE:汇编语言汇编器。
LX51.EXE/BL51.EXE:链接器/定位器。
LIB51.EXE/LIBX51.EXE:library库文件管理器。
OC51.EXE:banked objectfile转换器。
OH51.EXE/OHX51.EXE: obj-hex转换器。
3. IDE介绍
uVision 与 Ishell 分别是 C51 forWindows 和 for Dos 的集成开发环境 (IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后分别由 C51 及 A51 编译器编译生成目标文件 (.OBJ)。目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件。绝对目标文件由 OH51 转换成标准的 Hex 文件。
4. C51编译库文件
lib目录中的一些库文件。
5. 工程项目内包含的文件
头文件.h
C 语言 .c
汇编 .asm
备份文件 .bak
预处理文件 .i
编译日志文件.plg
列表文件(包含编译的有关信息) .lst
编译生成的目标文件 .obj
连接日志文件 .lnp
连接信息文件(包含连接的有关信息) .M51
绝对(地址)目的文件 — 无后缀文件
可执行文件 .hex
keil的工程文件 uvopt和uvproj
6. IDE编译过程
C 语言转换为二进制机械语言要经过四个过程:预处理,编译,汇编,连接。
预处理:编译器的预处理指令,包括宏替代,去除注释,包含文件,条件编译等;
编译:C 语言经过编译器转换为汇编语言;
汇编:汇编语言经过汇编器转换为二进制;
(每个 C 语言/汇编源文件都会生产一个二进制的目标文件)
连接:将所有目标文件通过连接器结合在一起生成可执行文件。
7. 命令行编译过程——cmd
(1)编写好源程序uart.c。
(2)命令语句:C51.exe "C:\Users\john\Desktop\新建文件夹\uart.c"
调用C51.EXE对uart.c进行编译,生成列表文件.lst和目标文件uart.obj。
(3)命令语句:BL51.exe "C:\Users\john\Desktop\新建文件夹\uart.obj"
调用BL51.EXE对uart.obj进行连接定位,生成连接信息文件.M51和绝对目标文件uart。
(4)命令语句:OH51.exe "C:\Users\john\Desktop\新建文件夹\uart"
调用OH51.EXE对uart进行转换,生成可执行文件uart.hex。
8. 库文件
静态链接库.lib——包含一个或多个目标文件.obj 和索引信息等的集合文件。
一般将多个 C 语言源文件编译生成的目标文件.obj 集合起来生成库文件使用。
链接器会将目标文件.obj 与库文件.lib链接生成可执行文件。
动态链接库.dll
源文件会生成.lib 和.dll,.lib 包含动态链接库到 link 的信息,.dll 包含具体实现的代码,链接器会将.lib 加入可执行文件中.exe,编译完成后得到可执行文件.exe 和动态链接库.dll,执行.exe 时会根据需要从.dll中获取对应的代码。keil C51没有动态库文件的生成。
KEIL C51 程序编译相关推荐
- 51单片机----Keil uVision程序编译软件与Proteus 8 Professional电路仿真软件之间调到统一频率(12MHz)
1.调节Keil uVision程序点击 再次点击1-2-点击OK. 2.Proteus 8 Professional调节频率,双击单片机,把这里修改为12MHz. 注意:这里12 MHz千万不要删掉 ...
- keil4在C51中嵌入汇编语言,KEIL C51程序中如何嵌入汇编
P1=0x00; #pragma asm MOV R3,#08H DJNZ R3,$ #pragma endasm P1=0xff; } void delay(void) { #prag ...
- Keil C51程序设计
转载地址:http://www.dwenzhao.cn/profession/mcu/mcu51keilc.html Keil C51是一种专为8051系列单片机设计的C编译器,支持符合ANSI标准的 ...
- 根据c51程序改写汇编语言,Keil C51编译及连接技术
主要介绍Keil C51的预处理方法如宏定义.常用的预处理指令及文件包含指令,C51编译库的选择及代码优化原理,C51与汇编混合编程的方法与实现以及超过64KB空间的地址分页方法的C51实现. 教学目 ...
- c语言程序如何在keil中运行,keil c51中C程序的启动过程
汇编是从org 0000h开始启动,那么keil c51是如何启动main()函数的?keil c51有一个启动程序startup.a51,它总是和c程序一起编译和链接.下面看看它和main()函数是 ...
- keil c语言 延迟程序,Keil C51程序设计中几种精确延时方法
前几天时间在做一个基于51单片机开发板的等精度频率计,用LCD1602液晶显示的,晶振是22.1184MHZ,用得是测频率法,目的是想做到能够测试0--900KHZ的信号. 液晶显示部分花了我好几天才 ...
- Proteus和Keil C51联调仿真完整解析(附程序)
背景:目前,还有不少人使用Proteus仿真诸如带有Firmware固件C51单片机时,先用Keil C51把C程序编译成.HEX文件,然后将.HEX文件导入Proteus项目中进行调试,调试发现软件 ...
- Keil C51编译/链接/优化
Keil C51编译/链接/优化 一.C51编译库及代码优化技术 如下图所示:可以根据优化等级的需要选择相应的库文件. 通过Keil ->Target 下 Memory Model / code ...
- keil流水灯c语言程序两个一起亮,51单片机学习之陆 —— 1.2 第一个c51程序(点亮流水灯)...
原标题:51单片机学习之陆 -- 1.2 第一个c51程序(点亮流水灯) 由于学校的板子跟我买的板子有些差异,为了大家的阅读,以后的所有程序编写烧录都以老师发的板子为主. 1 事先准备 a 驱动安装, ...
- STC单片机使用Keil C51 编译增添PackInstaller方法
1.下载安装破解 Keil C51 软件: 2.增添PackInstaller: 3.增添STC 头文件: 4.增添Driver文件:
最新文章
- 面试官问:你来讲下Netty通信中的粘包、拆包?
- C#读取远端电脑文件的方法
- LeetCode----9. 回文数
- java nio socket长连接_netty学习实战—实现websocket长连接和socket之间进程通信
- php判断三角形类型,C#_C#判断三角形的类型,题目描述:
输入三角形的三 - phpStudy...
- Python中的iteritems()和items()
- 类型的值怎么用es查询_腾讯游戏信用分怎么查询在哪看 有什么用怎么提升介绍...
- Maven学习总结(10)——使用Maven编译项目gbk的不可映射问题
- eclipse配置xml的自动提示
- 如何使用终端下载 macOS Monterey 12.1 正式版
- cuteEditor6.0多语言版(集成lic文件)
- OpenCV视频生成报错 Incorrect library version loaded Could not open codec ‘libopenh264‘: Unspecified error
- Eclipse的环境设置
- python爬虫反虫之setcookie
- pvm虚拟机基本原理
- 已经开工三天的软件测试工程师:被女足和谷爱凌感动到了
- origin与matlab 双向联合数据处理
- iOS实现App之间的分享
- Java IO 编程
- java inet aton_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop
热门文章
- 如何在vm虚拟机里面安装win10操作系统
- python爬虫付费内容_Python爬虫:十大付费代理详细对比
- jquery实现登录成功界面_【jQuery实例】Ajax登录页面
- PyS60记事本源码
- 在网页博客文章中输入上下角标(指次幂、下角标)、分数及特殊字符
- xhEditor用法
- 求最大公约数的4种常用算法
- js中最重要的是:原型对象 普通对象和函数对象 构造函数
- 计算机如何从光盘启动不了,电脑如何设置光驱启动?开机设置光驱为第一启动的步骤...
- 【托业】【新托业TOEIC新题型真题】学习笔记11-题库六-P7