编译是做
A. 小白求助,编译是什么,为什么需要编译
人与机器交流(即人让计算机按照人的意愿做事)依赖于语言
语言的层次是:自然语言->高级编程语言->汇编语言->机器码
人最熟悉的肯定是自然语言(就是你平时说的话)。
而计算机的cpu只认识二进制的机器码,机器码指导计算机做什么操作(如逻辑运算)。
高级编程语言跟自然语言的关系更近些,对人来说相当于自然语言的白痴版,如java中的对象与类的概念可能对应于现实世界的某种事物,如C语言中的函数可能对应了一个功能,比如打印文件,经过简单的训练,人也能大概的读懂。
汇编语言和机器码更接近些,每个汇编指令一般都会对应一条机器码,而高级编程语言中的一个语句(如if else什么的)可能会对应多条汇编指令,汇编指令一般就是算术运算(如add)、逻辑运算(如and)、数据传送(如mov)、条件判断、跳转等,只能用这些简单功能的汇编指令组合来完成一个复杂的功能。人看懂汇编就很吃力了,更别提用汇编来完成想要的功能,太吃力,这个过程还是交个编译器比较好。
而机器码对于一般的程序员来说,就是天书,也基本没人愿意去看。
自然语言最容易表述人们的要求,当用户用自然语言表述了需要的功能后,从自然语言到高级语言的转换过程由程序员来完成,而由高级编程语言到汇编、由汇编到机器码的过程都由编译器来完成,由编译器完成的这个过程也就是编译了。
高级编程语言的代码经过编译阶段成为汇编代码,汇编代码经过汇编阶段变成机器码,机器码文件经过链接阶段变成可执行文件(.exe)。一般编译是指的编译阶段和汇编阶段的组合,编译器的工作一般是编译和链接。
这就是我的理解,希望你帮到你。
B. 计算机编译程序主要是做什么工作
编译程序就是将高级语言程序设计语言源程序翻译成计算机可执行代码的软件
C. C#中编译是用来做什么的,在VS2008中怎么操作才算编译编译和运行的区别是什么
源码生成二进制文件就是编译,但还不能运行,要与系统库链接,生成该系统平台上的可执行文件,如,你打开记事本,这个叫运行,记事本这个程序已经编译生成好了,你可以直接运行。在 VS里封装了功能,就是生成,或像播放按钮的工具
D. Java 编译做哪些工作
我认为是这样的:
1.首先java有反射机制,执行编译时会尝试找到JRE安装所在目录,然后找到jvm.dll,接着启动JVM进行初始化动作,产生3个类加载器,用来将所用到的类文件加载到内存中
2.会自动导入java.lang下的类文件和你想导入的类文件
3.会查看你的代码中是否有未处理的可控式异常
4.JVM会查看你写的代码是否符合语法
5.JVM会将你所写的java文件编译为与系统平台无关的字节码文件,也就是.class文件
总之就是一些初始化的动作
E. 编译器是什么意思,是做什么的
编译器
编译器是一种特殊的程序,它可以把以特定编程语言写成的程序变为机器可以运行的机器码。我们把一个程序写好,这时我们利用的环境是文本编辑器。这时我程序把程序称为源程序。在此以后程序员可以运行相应的编译器,通过指定需要编译的文件的名称就可以把相应的源文件(通过一个复杂的过程)转化为机器码了。
下面我们看看它是如何工作的。首先编译器进行语法分析,也就是要把那些字符串分离出来。然后进行语义分析,就是把各个由语法分析分析出的语法单元的意义搞清楚。最后生成的是目标文件,我们也称为obj文件。再经过链接器的链接就可以生成最后的可执行代码了。有些时候我们需要把多个文件产生的目标文件进行链接,产生最后的代码。我们把一过程称为交叉链接。
有一个称为LCC的编译器,还挺不错的;还有一个用于分析其规则的小工具;
F. C语言编译器是用来做什么的
编译器,是将便于人编写,阅读,维护的高阶计算机语言翻译为计算机能解读、运行的低阶机器语言的程序。编译器将原始程序(Source program)作为输入,翻译产生使用目标语言(Target language)的等价程序。源代码一般为高阶语言 (High-level language), 如 Pascal、C++、Java 等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。
一个现代编译器的主要工作流程如下:
源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 汇编程序 (assembler) → 目标代码 (object code) → 连接器 (Linker) → 可执行程序 (executables)
G. Android源码编译是干什么
编译Android系统。
H. 编译器做什么工作
1. 词法分析 词法分析器根据词法规则识别出源程序中的各个记号(token),每个记号代表一类单词(lexeme)。源程序中常见的记号可以归为几大类:关键字、标识符、字面量和特殊符号。词法分析器的输入是源程序,输出是识别的记号流。词法分析器的任务是把源文件的字符流转换成记号流。本质上它查看连续的字符然后把它们识别为“单词”。 2. 语法分析 语法分析器根据语法规则识别出记号流中的结构(短语、句子),并构造一棵能够正确反映该结构的语法树。 3. 语义分析 语义分析器根据语义规则对语法树中的语法单元进行静态语义检查,如果类型检查和转换等,其目的在于保证语法正确的结构在语义上也是合法的。 4. 中间代码生成 中间代码生成器根据语义分析器的输出生成中间代码。中间代码可以有若干种形式,它们的共同特征是与具体机器无关。最常用的一种中间代码是三地址码,它的一种实现方式是四元式。三地址码的优点是便于阅读、便于优化。 5. 中间代码优化 优化是编译器的一个重要组成部分,由于编译器将源程序翻译成中间代码的工作是机械的、按固定模式进行的,因此,生成的中间代码往往在时间和空间上有很大浪费。当需要生成高效目标代码时,就必须进行优化。 6. 目标代码生成 目标代码生成是编译器的最后一个阶段。在生成目标代码时要考虑以下几个问题:计算机的系统结构、指令系统、寄存器的分配以及内存的组织等。编译器生成的目标程序代码可以有多种形式:汇编语言、可重定位二进制代码、内存形式。 7 符号表管理 符号表的作用是记录源程序中符号的必要信息,并加以合理组织,从而在编译器的各个阶段能对它们进行快速、准确的查找和操作。符号表中的某些内容甚至要保留到程序的运行阶段。 8 出错处理用户编写的源程序中往往会有一些错误,可分为静态错误和动态错误两类。所谓动态错误,是指源程序中的逻辑错误,它们发生在程序运行的时候,也被称作动态语义错误,如变量取值为零时作为除数,数组元素引用时下标出界等。静态错误又可分为语法错误和静态语义错误。语法错误是指有关语言结构上的错误,如单词拼写错、表达式中缺少操作数、begin和end不匹配等。静态语义错误是指分析源程序时可以发现的语言意义上的错误,如加法的两个操作数中一个是整型变量名,而另一个是数组名等。
I. 辑文编译是做什么的
辑文编译是一个专注于医学领域、SCI科研学术的互助,提供医学编译、SCI评估、翻译、文献检索以及留学访学等,为研究学者及各类学术单位保驾护航,让广大科研工作者享受优质的学术。
J. 什么是编译
编译(compilation , compile) 1、利用编译程序从源语言编写的源程序产生目标程序的过程。 2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
编译语言是一种以编译器来实现的编程语言。它不像直译语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器码,再加以运行。理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别,仅与程序的应用有关。