• 什么是编译


    编译:简单来说就是 计算机只能读取二进制指令0和1 ,不能理解我们开发的程序。所以需要把我们开发的程序转换为机器可以读取的。就是.Java文件变成.class文件

    对于同一个语句,有如下三种:高级语言、低级语言、机器语言的表示

    Java语言 a=b+1;

    汇编语言 mov -0xc(%ebp),%eaxadd $0x1,%eaxmov %eax,-0x8(%ebp)

    机器语言 8b 45 f4 83 c0 01 89 45 f8

    我们都知道,机器是只能做数字计算的,能够让机器去运算的、数字的语言就是机器语言,除此之外的所有计算机语言都是非机器语言。这样的相对于机器语言的高级语言都需要一个转换,从高级、机器不可理解,转换为机器可理解的机器语言。这样的一个转换过程就叫做编译(Compile)由编译器(Compiler)来完成。

    由Java 转换为汇编语言这一过程是由汇编器(Assembler)来执行的。

    Java和汇编语言转换为机器语言都是由编译器来完成的(把汇编语言翻译机器语言的过程称为汇编)

    这里面,Java是可跨平台的,也可以说是与平台无关的。这里的平台有两种说法,一种是指计算机的体系(Architecture),另一种是指操作系统(Operate System),也可以是指两种的结合。不同的平台,他们所需要的执行机器语言的指令集是不同的。Java的跨平台性是指,只需要编写一份不需要修改的Java程序代码,就可以在不同体系、不同操作系统的计算机上运行。这都要靠编译器的功劳,编译器将Java程序翻译为了适合当前计算机体系的机器语言。

    下面说一下将Java语言编译为机器语言的整个过程:

    首先,我们写出一份Java程序代码,命名该代码为hello.Java,这个代码文件,我们称之为源代码(Srouce Code)

    然后我们运行编译器,对该源代码文件进行编译,在整个编译的过程中,编译器并不会执行该源代码,只是生成一份新的机器语言代码文件,如hello.class。这份新生成的代码文件称为目标代码(Object Code)可执行代码(Executable)

  • 相关阅读:
    mmsplayer V2 for android 抢先发布
    mmsplayer v2 windows C 之(mmsplayer_wave )
    mmsplayer v2 java 之(MmsplayerActivity Activity类)
    mmsplayer V2 for windows 发布
    今天休息,明天晚上继续IOS版本mmsplayer V2
    mmsplayer v2 java 之(MmsplayerActivity Activity类)
    mmsplayer V2 for windows 发布
    自定义函数:删除数组B中与数组A重复的值
    LotusScript方法扩展
    MS SQL 2005 SP2新功能
  • 原文地址:https://www.cnblogs.com/zjf6666/p/9258885.html
Copyright © 2020-2023  润新知