关于如何将C语言源文件转化为汇编文件
--转载自:http://blog.21ic.com/user1/6088/archives/2010/68469.html
方法:(假设当前工程中只有一个C代码文件)
第1步:新建一个工程,添加C文件,编译通过
第2步:右击Keil界面中Project Workspace里的C文件名,选择‘Option for…’
第3步:点击‘Generate Assembler SRC File’‘Assemble SRC File’两个三态复选框使它们呈高亮并勾选,点击确定
第4步:将KEIL安装目录下C51/LIB/C51S.LIB(如果是SMALL模式)文件复制到工程目录下
第5步:添加库文件C51S.LIB文件到工程,即右击‘Source Group 1’,选择‘Add Files to Group …’,在工程目录下选择C51S.LIB,点击打开(因为有了第3步中的操作,如果在这里不添加库文件,则编译生成的HEX文件不能被单片机正确执行,同时编译时会出现一个警告:
WARNING L1:UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_STARTUP
无法识别?C_STARTUP这个标号,这个标号是在库文件中定义。
第6步:打开工程目录,可以看到新生成一个扩展名为.SRC的文件,将其扩展名改成.A51
第7步:添加这个.A51文件到工程(这时候工程就包含C51S.LIB库文件,不然编译会产生第5步中说明的警告,且生成的HEX文件不能被单片机正确运行)
第8步:重新编译,生成HEX文件,加载到单片机中,可以发现与C语言运行的现象是一致的
关于如何将C语言源文件转化为汇编文件的更多相关文章
- java语言实现对程序设计语言源文件统计字符数、单词数、行数及其他拓展功。
本次作业Github项目地址:https://github.com/YiChenglong2018/WordCount 一.项目简介 本项目的需求可以概括为:对程序设计语言源文件统计字符数.单词数.行 ...
- C语言中 *.c和*.h文件的区别!
C语言中 *.c和*.h文件的区别! http://blog.163.com/jiaoruijun07@126/blog/static/68943278201042064246409/ ...
- Mac上把python源文件编译成so文件
把python源文件编译成so文件 前言 实际上属于一种代码混淆/加密的技术,大家知道python的源文件放在那里,大家是都可以看的,不像C语言编译出来可以拿编译后的东西去运行,所以就出现了这种需求. ...
- 一份关于Swift语言学习资源的整理文件
一份关于Swift语言学习资源的整理文件 周银辉 在这里下载 https://github.com/ipader/SwiftGuide
- Linux内核--C语言中内嵌汇编 asm __volatile__
在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可 ...
- Linux内核系列—C语言中内嵌汇编 asm __volatile__,asm__volatile_【转】
转自:http://www.bkjia.com/Androidjc/1109412.html 在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器, ...
- idea src下源文件和class编译文件不一致
今天遇到一个神奇BUG,一个和elasticsearch没有任何关系的项目,报错ES某个包找不到,刚开始以为是依赖了父项目的某个包,并且本项目主启动类ComponentScan扫描了相关的类进入Spr ...
- C语言第十二讲,文件操作.
C语言第十二讲,文件操作. 一丶文件操作概述 在操作系统中,我们的文档都称为文件.操作系统也为我们提供了接口进行操作.不同语言都是使用的相同的接口,只不过封装的上层接口不一样 操作文件的步骤 打开文件 ...
- matlab下将图片序列转化为视频文件 && 将为视频文件转化图片序列
将图片序列转化为视频文件 程序如下: framesPath = 'E:\img\';%图像序列所在路径,同时要保证图像大小相同 videoName = 'Bolt.avi';%表示将要创建的视频文件的 ...
随机推荐
- linux 屏幕亮度调整命令
我的Fujitsu S7211的笔记本屏幕显示在Ubuntu 10.04不如在Vista下明亮,一直以为是驱动的问题.后来从老外的博客中,发现了这个亮度其实可以调节. 2种方法: 1. 调节屏幕对比度 ...
- Java POI导入Excel文件
今天在公司需要做个导入Excel文件的功能,所以研究了一下,参考网上的一些资料总算是做出来了,在此记录一下防止以后忘记怎么弄. 本人用的是poi3.8,所以需要的JAR包如下: poi-3.8.jar ...
- Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter ff))
1. 案例: 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名. 2. 案例代码如下: (1)思路是:先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输 ...
- Linux开发工具之gdb(下)
三.gdb调试(下) 01.查看运行时数据 print - 查看变量值 ptype - 查看类型 print array - 查看数组 print *array@len - 查看动态内存 print ...
- Android Studio 使用GitHub
Android Studio 使用GitHub 1.安装配置 默认大家都已经安装了git软件,参考下图进行git与as关联 配置git 设置GitHub用户信息 填写完用户名,密码后可以点击Tes ...
- C# - 二叉树表达式计算
很早以前就写过双栈的表达式计算. 这次因为想深入学一下二叉树,网上都是些老掉牙的关于二叉树的基本操作. 感觉如果就学那些概念,没意思也不好记忆.于是动手写了一个表达式计算的应用例子. 这样学习印象才深 ...
- flash文件运动节奏的控制
flash里面,比较难的是控制运动的节奏.参考了几个韩国网站的fla源文件,提出以下几个建议与参考. 1,flash文件里面,每秒的帧数 设置为 120,或者一个比较大的数字(90,60).普通的文件 ...
- 小试牛刀-嘿嘿,创建job了
今天 周六,我写了这个存储过程.用意:检查 数据库中是否有 该类的 job,如果有那么取job_name 赋值给 job_old, 把job_old加上时间戳 改造成 job_new.那么jo ...
- js函数--关于toString和valueOf
js函数--关于toString和valueOf 标签(空格分隔): JavaScript 今天看到一个试题,实现如下语法的功能: var a = add(2)(3)(4); //9 这个就是一个高阶 ...
- 卸载mysql时,如何卸载干净!
相信很多朋友在使用mysql的过程中都会遇到这样的问题,安装过程出错,或者想要换个版本,或者不想使用了,这个时候我们都需要完全卸载mysql呢?下面,就来谈一谈我的经验. 1.控制面板——>所有 ...