2023-12-25 21:09来源:m.sf1369.com作者:宇宇
编译程序的作用是将高级语言源程序翻译成目标程序
编译程序(Compiler,compiling program)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。其以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
一、c编译为机器语言(即目标程序):
1、利用编译程序从源语言编写的源程序产生目标程序的过程。 2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
二、运行目标程序
在计算机文件上以.obj作扩展名----由语言处理程序(汇编程序,编译程序,解释程序)将源程序处理(汇编,编译,解释)成与之等价的由机器码构成的,计算机能够直接运行的程序,该程序叫目标程序。
三、cpu运行
CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。
什么叫汇编 汇编语言(Assembly Language)是面向机器的程序设计语言。 在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。 汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。 是能完成一定任务的机器指令的集合。 汇编可以干什么 汇编语言是一种面向机器结构的低级程序设计语言,汇编语言程序是把机器指令组成的机器语言符号化,它同机器语言的目标代码一一对应.采用汇编语言进行程序设计,既可以充分发挥机器硬件提供的有利条件,又不像机器语言那样编制出的程序难于辨认,不易修改、维护。 在某些情况下,用高级语言编制的程序不能满足要求时,应当使用接近机器语言的汇编语言编制程序,它既可以弥补高级语言程序的某些不足,有可改善用机器语言编制程序的困难. 学会汇编后,你在用高级语言编程时会更了解机器到底做了什么,可以通过修改高级语言的代码来提高算法所不能提高的效率 反汇编...就是...就是...把目标代码转为汇编代码的过程.
#include <stdio.h>
void main()
{
int slength(char *q1,int *q2);//函数声明,求字符串的长度
int i=0,*p1;
char str[81];
clrscr();//清屏
p1=&i;//p1指向整型变量i
printf(enter str:\n);
gets(str);//输入字符串
slength(str,p1);//调用函数
printf(chang du=%d\n,*p1);
}
int slength(char *q1,int *q2)//函数定义
{
while(*q1)//字符串没有都结尾,就循环
{
q1++;//指针下移
*q2=*q2+1;//q2指向单元内容加1(实际就是i加1)
}
}
)解释程序 编译程序