导航:首页 > 源码编译 > 程序编译过程

程序编译过程

发布时间:2022-01-29 07:00:58

Ⅰ 简述java程序的编辑编译和运行过程

第一步(编译): 创建完源文件之后,程序会先被编译为.class文件。Java编译一个类时,如果这个类所依赖的类还没有被编译,编译器就会先编译这个被依赖的类,然后引用,否则直接引用,这个有点象make。

如果java编译器在指定目录下找不到该类所其依赖的类的.class文件或者.java源文件的话,编译器话报“cant find symbol”的错误。

第二步(运行):java类运行的过程大概可分为两个过程:1、类的加载 2、类的执行。需要说明的是:JVM主要在程序第一次主动使用类的时候,才会去加载该类。也就是说,JVM并不是在一开始就把一个程序就所有的类都加载到内存中,而是到不得不用的时候才把它加载进来,而且只加载一次。

特别说明:java类中所有public和protected的实例方法都采用动态绑定机制,所有私有方法、静态方法、构造器及初始化方法<clinit>都是采用静态绑定机制。而使用动态绑定机制的时候会用到方法表,静态绑定时并不会用到。

(1)程序编译过程扩展阅读:

Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。

Java代码编译:是由Java源码编译器来完成;

Java字节码的执行:是由JVM执行引擎来完成

Java程序从源文件创建到程序运行要经过两大步骤:

1、源文件由编译器编译成字节码(ByteCode)

2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( "semi-interpreted" language)。

Ⅱ C++ 程序的编译过程…

一般来讲,编好的代码(源代码)经过编译,链接,生成可执行的文件,然后就可以执行。即编辑的代码要最重生成可执行的程序(可执行的文件),需要经过编译、链接两个步骤。编译的作用是对代码进行语法检查,而链接的作用是链接代码中用到的编译器提供的资源。所以,通常通过编译、链接后形成的只形成一个可执行的文件。

但是,假如你是采用工程的形式进行编程的话,工程包括很多个文件,比如,VC编程中MFC编程。这个时候源代码通过链接后就形成的是多个文件!

中型程序是什么语言写的,这个问题恐怕语言专家也不好回答,因为每种语言,比如C、C++、JAVA等等都可以写中型程序,而且都是各有优缺点。但是,根据编程的用途,各种语言根据自身的特点可以针对性的使用,如游戏编程一般使用...语言,而系统软件编程一般使用...语言,这种说法可能更有使用价值一些。

Ⅲ 高级语言的编译过程,经过哪几个步骤

开发C程序有四个步骤:编辑、编译、连接和运行。

任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。

1、预处理:导入源程序并保存(C文件)。

2、编译:将源程序转换为目标文件(Obj文件)。

3、链接:将目标文件生成为可执行文件(EXE文件)。

4、运行:执行,获取运行结果的EXE文件。

(3)程序编译过程扩展阅读:

将C语言代码分为程序的几个阶段:

1、首先,对源代码文件进行测试。以及相关的头文件,比如Stdio。H.CPP预处理为。我的文件。预编译。该文件不包含任何宏定义,因为所有宏都已展开,且包含的文件已插入。我提起。

2、编译过程是对预处理后的文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程通常是整个程序的核心部分,也是最复杂的过程之一。

3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可运行的可执行程序。也就是说,您需要链接到大量文件以获得最终可执行文件“a.out”。

4、在链接过程中,其他目标文件中定义的函数调用指令需要重新调整,而其他目标文件中定义的变量也存在同样的问题。

Ⅳ 程序的编译过程是怎样的程序的解释过程是怎样的

编译器首先用扫描程序扫描源代码,然后用语法分析程序分析得到语法树,然后经过语义分析、优化处理,最后通过代码生成程序得到目标代码的文件。
整个编译过程就是(扫描-语法分析-语义分析-优化-目标代码生成)。通常生成的是汇编代码,机器代码,可以直接执行,不需要解释。
而解释的过程只使用与解释型语言,这种语言只编译成一种中间文件,在运行时通过虚拟机读取中间文件进行解释运行。这种语言天生速度比较慢,但可以达到所谓的跨平台效果。
如果想深入了解,推荐看一看《编译原理》,如果只是想大概了解,推荐看一看《编译原理》的目录~呵呵

Ⅳ c语言程序编译过程包括哪四个

C语言编译过程分成四个步骤: 
1,由.c文件到.i文件,这个过程叫预处理 
2,由.i文件到.s文件,这个过程叫编译 
3,由.s文件到.o文件,这个过程叫汇编 
4,由.o文件到可执行文件,这个过程叫链接
用gcc查看预处理过程(假设源文件叫hello.c) 
gcc -o hello.i hello.c -E 
然后用 vi hello.i 即可查看生成的预处理文件
按ESC 输入:$ 跳到预处理文件 可看到hello.c源码
宏的本质:预处理阶段的单纯的字符串替换
预处理阶段,不考虑C语法

Ⅵ 编译程序的工作过程

编译程序必须分析源程序,然后综合成目标程序。首先,检查源程序的正确性,并把它分解成若干基本成分;其次,再根据这些基本成分建立相应等价的目标程序部分。为了完成这些工作,编译程序要在分析阶段建立一些表格,改造源程序为中间语言形式,以便在分析和综合时易于引用和加工(图1)。
数据结构分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。符号表由源程序中所用的标识符连同它们的属性组成,其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字符串、复型、标号等),以及目标程序所需的其他信息。常数表由源程序中用的常数组成,其中包括常数的机内表示,以及分配给它们的目标程序地址。中间语言程序是将源程序翻译为目标程序前引入的一种中间形式的程序,其表示形式的选择取决于编译程序以后如何使用和加工它。常用的中间语言形式有波兰表示、三元组、四元组以及间接三元组等。
分析部分源程序的分析是经过词法分析、语法分析和语义分析三个步骤实现的。词法分析由词法分析程序(又称为扫描程序)完成,其任务是识别单词(即标识符、常数、保留字,以及各种运算符、标点符号等)、造符号表和常数表,以及将源程序换码为编译程序易于分析和加工的内部形式。语法分析程序是编译程序的核心部分,其主要任务是根据语言的语法规则,检查源程序是否合乎语法。如不合乎语法,则输出语法出错信息;如合乎语法,则分解源程序的语法结构,构造中间语言形式的内部程序。语法分析的目的是掌握单词是怎样组成语句的,以及语句又是如何组成程序的。语义分析程序是进一步检查合法程序结构的语义正确性,其目的是保证标识符和常数的正确使用,把必要的信息收集和保存到符号表或中间语言程序中,并进行相应的语义处理。

Ⅶ C语言源程序的编译过程包括哪三个阶段

编译:将源程序转换为扩展名为.obj的二进制代码
连接:将obj文件进行连接,加入库函数等生成可执行文件
运行:执行可执行文件,有错返回修改,无错结束

Ⅷ 简述将源程序编译成可执行程序的过程

一个源程序到一个可执行程序的过程:预编译、编译、汇编、链接。其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。

预编译:主要处理源代码文件中的以“#”开头的预编译指令。处理规则如下:

1、删除所有的#define,展开所有的宏定义。

2、处理所有的条件预编译指令,如“#if”、“#endif”、“#ifdef”、“#elif”和“#else”。

3、处理“#include”预编译指令,将文件内容替换到它的位置,这个过程是递归进行的,文件中包含其他文件。

4、删除所有的注释,“//”和“/**/”。

5、保留所有的#pragma 编译器指令,编译器需要用到他们,如:#pragma once 是为了防止有文件被重复引用。

6、添加行号和文件标识,便于编译时编译器产生调试用的行号信息,和编译时产生编译错误或警告是能够显示行号。

(8)程序编译过程扩展阅读:

编译过程中语法分析器只是完成了对表达式语法层面的分析,语义分析器则对表达式是否有意义进行判断,其分析的语义是静态语义——在编译期能分期的语义,相对应的动态语义是在运行期才能确定的语义。

其中,静态语义通常包括:声明和类型的匹配,类型的转换,那么语义分析就会对这些方面进行检查,例如将一个int型赋值给int*型时,语义分析程序会发现这个类型不匹配,编译器就会报错。

Ⅸ C语言文件的编译与执行的四个阶段并分别描述

开发C程序有四个步骤:编辑、编译、连接和运行。

任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。

1、预处理:导入源程序并保存(C文件)。

2、编译:将源程序转换为目标文件(Obj文件)。

3、链接:将目标文件生成为可执行文件(EXE文件)。

4、运行:执行,获取运行结果的EXE文件。

(9)程序编译过程扩展阅读:

将C语言代码分为程序的几个阶段:

1、首先,源代码文件测试。以及相关的头文件,比如stdio。H、由预处理器CPP预处理为.I文件。预编译的。文件不包含任何宏定义,因为所有宏都已展开,并且包含的文件已插入。我归档。

2、编译过程是对预处理文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程往往是整个程序的核心部分,也是最复杂的部分之一。

3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可以运行的可执行程序。也就是说,您需要链接大量的文件才能获得“a.out”,即最终的可执行文件。

4、在链接过程中,需要重新调整其他目标文件中定义的函数调用指令,而其他目标文件中定义的变量也存在同样的问题。

Ⅹ 简述编译程序的工作过程

1识别出句子中的一个个单词
2分析句子的语法结构
3根据句子的含义进行初步翻译
4对译文进行修饰
5写出最后的译文

阅读全文

与程序编译过程相关的资料

热点内容
猴子网游app安全吗怎么扫码 浏览:219
哪些系统盘文件夹大 浏览:341
pdf朗读软件手机 浏览:225
ug编程实例教程 浏览:987
cad输入命令时鼠标卡顿 浏览:795
php过滤文件 浏览:757
linux配置ip命令 浏览:903
命令的英文怎么读 浏览:353
哪个app是自己弹音乐的 浏览:655
安卓变是什么意思 浏览:612
qq五子棋在哪里找app 浏览:837
图片活码二维码生成器网站源码 浏览:186
国美手机联系人加密 浏览:883
成交量彩色源码 浏览:118
算法最根本的评价标准 浏览:366
个人资源app哪个好用 浏览:580
这也能切为什么没有安卓 浏览:675
可可64山寨源码 浏览:641
怎么自己解压和释放 浏览:991
思路与算法的区别 浏览:156