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 程序编译相关推荐

  1. 51单片机----Keil uVision程序编译软件与Proteus 8 Professional电路仿真软件之间调到统一频率(12MHz)

    1.调节Keil uVision程序点击 再次点击1-2-点击OK. 2.Proteus 8 Professional调节频率,双击单片机,把这里修改为12MHz. 注意:这里12 MHz千万不要删掉 ...

  2. keil4在C51中嵌入汇编语言,KEIL C51程序中如何嵌入汇编

    P1=0x00; #pragma asm MOV     R3,#08H DJNZ    R3,$ #pragma endasm P1=0xff; } void delay(void) { #prag ...

  3. Keil C51程序设计

    转载地址:http://www.dwenzhao.cn/profession/mcu/mcu51keilc.html Keil C51是一种专为8051系列单片机设计的C编译器,支持符合ANSI标准的 ...

  4. 根据c51程序改写汇编语言,Keil C51编译及连接技术

    主要介绍Keil C51的预处理方法如宏定义.常用的预处理指令及文件包含指令,C51编译库的选择及代码优化原理,C51与汇编混合编程的方法与实现以及超过64KB空间的地址分页方法的C51实现. 教学目 ...

  5. c语言程序如何在keil中运行,keil c51中C程序的启动过程

    汇编是从org 0000h开始启动,那么keil c51是如何启动main()函数的?keil c51有一个启动程序startup.a51,它总是和c程序一起编译和链接.下面看看它和main()函数是 ...

  6. keil c语言 延迟程序,Keil C51程序设计中几种精确延时方法

    前几天时间在做一个基于51单片机开发板的等精度频率计,用LCD1602液晶显示的,晶振是22.1184MHZ,用得是测频率法,目的是想做到能够测试0--900KHZ的信号. 液晶显示部分花了我好几天才 ...

  7. Proteus和Keil C51联调仿真完整解析(附程序)

    背景:目前,还有不少人使用Proteus仿真诸如带有Firmware固件C51单片机时,先用Keil C51把C程序编译成.HEX文件,然后将.HEX文件导入Proteus项目中进行调试,调试发现软件 ...

  8. Keil C51编译/链接/优化

    Keil C51编译/链接/优化 一.C51编译库及代码优化技术 如下图所示:可以根据优化等级的需要选择相应的库文件. 通过Keil ->Target 下 Memory Model / code ...

  9. keil流水灯c语言程序两个一起亮,51单片机学习之陆 —— 1.2 第一个c51程序(点亮流水灯)...

    原标题:51单片机学习之陆 -- 1.2 第一个c51程序(点亮流水灯) 由于学校的板子跟我买的板子有些差异,为了大家的阅读,以后的所有程序编写烧录都以老师发的板子为主. 1 事先准备 a 驱动安装, ...

  10. STC单片机使用Keil C51 编译增添PackInstaller方法

    1.下载安装破解 Keil C51 软件: 2.增添PackInstaller: 3.增添STC 头文件: 4.增添Driver文件:

最新文章

  1. 面试官问:你来讲下Netty通信中的粘包、拆包?
  2. C#读取远端电脑文件的方法
  3. LeetCode----9. 回文数
  4. java nio socket长连接_netty学习实战—实现websocket长连接和socket之间进程通信
  5. php判断三角形类型,C#_C#判断三角形的类型,题目描述: 输入三角形的三 - phpStudy...
  6. Python中的iteritems()和items()
  7. 类型的值怎么用es查询_腾讯游戏信用分怎么查询在哪看 有什么用怎么提升介绍...
  8. Maven学习总结(10)——使用Maven编译项目gbk的不可映射问题
  9. eclipse配置xml的自动提示
  10. 如何使用终端下载 macOS Monterey 12.1 正式版
  11. cuteEditor6.0多语言版(集成lic文件)
  12. OpenCV视频生成报错 Incorrect library version loaded Could not open codec ‘libopenh264‘: Unspecified error
  13. Eclipse的环境设置
  14. python爬虫反虫之setcookie
  15. pvm虚拟机基本原理
  16. 已经开工三天的软件测试工程师:被女足和谷爱凌感动到了
  17. origin与matlab 双向联合数据处理
  18. iOS实现App之间的分享
  19. Java IO 编程
  20. java inet aton_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop

热门文章

  1. 如何在vm虚拟机里面安装win10操作系统
  2. python爬虫付费内容_Python爬虫:十大付费代理详细对比
  3. jquery实现登录成功界面_【jQuery实例】Ajax登录页面
  4. PyS60记事本源码
  5. 在网页博客文章中输入上下角标(指次幂、下角标)、分数及特殊字符
  6. xhEditor用法
  7. 求最大公约数的4种常用算法
  8. js中最重要的是:原型对象 普通对象和函数对象 构造函数
  9. 计算机如何从光盘启动不了,电脑如何设置光驱启动?开机设置光驱为第一启动的步骤...
  10. 【托业】【新托业TOEIC新题型真题】学习笔记11-题库六-P7