㈠ 汇编语言生成的文件是什么类型,能改吗
汇编过程是针对汇编语言的步骤,调用as进行工
作,一般来讲,.S为后缀的汇编语言源代码文件和汇编、.s为后缀的汇编语言文件经过
预编译和汇编之后都生成以.o为后缀的目标文件。当所有的目标文件都生成之后,gcc就
调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被
安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档
案库中连到合适的地方。
当然,不能改了。
㈡ C语言程序编译后产生哪些类型的文件这些文件的作用是什么
1、以GCC编译器为例,可以分为四步。
第一步是预处理,包括语法检查等工作。
gcc
-P
abc.c
第二步由源程序生产汇编语言代码。
gcc
-S
abc.c
会生成abc.s文件,这个文件里就是汇编代码。
第三步编译器生成目标代码,一个源文件生成一个目标代码。
gcc
-c
abc.c
会生成abc.o
第四步连接器从目标代码生成可执行文件。
gcc
abc.o
2、目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。
㈢ 用masm编译汇编程序怎么产生OBJ文件和EXE文件
开始--运行--输入cmd,打开的窗口就是模拟的DOS
不是直接打开masm.exe,在DOS下打开
debug用来调试的,使用的方法 debug 文件名.exe
用它把exe文件载入内存,有U命令查看每一条指令
用T命令一步步执行每一条指令,查看寄存器的变化
1、下载个masm5.0(简单,适合初学者),里面至少应包含masm.exe和link.exe,可能还包含其他的,不过我们只需要最基本的这两个。
2、将masm5.0压缩包里的程序解压(包含masm.exe和link.exe),放到一个目录中(如D:\masm),然后就在这个目录下建立个文本文件(如XX.txt)写入个汇编程序,保存,将后缀名改为XX.asm。
3、进入命令提示行(开始--运行--输入cmd)
4、进入程序所在文件夹(用dos的cd命令),以2中的为例,键入“d:”,回车,键入“cd masm”,回车,键入“masm XX”,回车3下,键入“link XX”,再回车3下,再键入“XX”,就运行完了。
补充:
1、若程序有问题,在4步骤中会提示,这时就要返回修改
2、如果程序本身并不显示输出结果,则4步骤运行完后也不会看到什么反应,初学者建议找个有显示输出结果的程序做试验
3、第二个步骤中,试验程序xx.asm应当和masm.exe link.exe放在一起,若不再一起,则需要添加masm环境变量。
㈣ C语言源程序文件的后缀是什么,经过编译后生成文件的后缀是什么经过连接后生成文件的后缀是什么
C语言源文件后缀名是.c,编译生成的文件后缀名是.obj,连接后可执行文件的后缀名是.exe。
源文件的后缀仅仅是为了表明该文件中保存的是某种语言的代码(例如.c文件中保存的是C语言代码),这样程序员更加容易区分,编译器也更加容易识别,它并不会导致该文件的内部格式发生改变。
(4)汇编语言编译后生成什么扩展阅读
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大。
依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点。
㈤ 汇编语言编译后为什么不能生成HEX文件求助。
有
800H
字节的限制,是没有破解。
在你的文件夹中,找找系列号,填上,即可。
㈥ 19.汇编语言源程序经过MASM汇编后最终生成的文件是……………………( )
汇编语言程序编译有两个步骤:
编译阶段,生成OBJ文件
链接阶段,生成最终的文件一般为exe或者静态库的形式.lib,DOS下还有一种COM文件,WINDOWS下面还可能生成dll文件
㈦ 汇编语言编译后生成什么格式文件
看你用什么
软件编译。
可以BIN,也可以HEX
。也可以同时生成
2
种格式。
㈧ 汇编语言,编译后为什么不能正确形成目标文件
如果没有错误、报警,那么编译后应该可以生成OBJ文件,连接后生成目标代码,或者是HEX文件,或者是BIN文件。
㈨ C++程序进行编译后会生成C语言代码还是汇编代码
不是汇编输出,更不是机器代码,而是链接器输出
当然不是机器代码,否则这个程序就可以在无操作系统环境下跑,或是在windows下编译出的exe能够在unix上跑,这当然是不对的。
(当然有直接生成机器码的编译器,不过不是我们常见的)
实际上编译出的程序是操作系统相关的,那是因为不同的操作系统的函数库是不相同的。编译器就是将程序与操作系统的函数库链接(比如屏幕的显示,键盘的输入等)。当然只会有少量机器码。
㈩ 编译程序和解释程序,汇编程序有什么区别
首先,汇编语言是一种语言,一种低级语言,和c,c++,vb......是一样的,和编译、解释不是一个概念;
关于解释程序
和编译程序的解释和关系如下:
a、解释程序
所谓解释程序是高级语言翻译程序的一种,它将源语言(如basic)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。这的确是很方便的,很适合于一些小型机的计算问题。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。
b、编译程序
这是一类很重要的语言处理程序,它把高级语言(如fortran、cobol、pascal、c等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。
编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务,编译程序采用对源程序进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的。下面举一个四遍扫描的例子:第一遍扫描做词法分析;第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。
值得一提的是,大多数的编译程序直接产生机器语言的目标代码,形成可执行的目标文件,但也有的编译程序则先产生汇编语言一级的符号代码文件,然后再调用汇编程序进行翻译加工处理,最后产生可执行的机器语言目标文件。
在实际应用中,对于需要经常使用的有大量计算的大型题目,采用招待速度较快的编译型的高级语言较好,虽然编译过程本身较为复杂,但一旦形成目标文件,以后可多次使用。相反,对于小型题目或计算简单不太费机时的题目,则多选用解释型的会话式高级语言,如basic,这样可以大大缩短编程及调试的时间。