Translation program: translate high-level language into machine language

tags: Deep understanding of computer operating systems

Translation program: refers to the process of translating high-level language into machine language.

Preliminary knowledge:
The computer's hierarchical structure can be roughly divided into five layers: high-level language, assembly language, operating system, machine language, and micro instruction system.

  1. Translation programs can be divided into two situations: compiler and interpreter

  2. Compiler
    The so-called compiling program refers to compiling the "source program" into "machine language" at one time, that is, "executable file". After the compilation is complete, execute the file. For example, C language programs are all compiled into machine language before execution. (See the compilation process of C language: preprocessing-compiling-assembly-link-loading)

  3. Explain execution
    The so-called interpretation and execution means that for the "source program", a sentence is translated into machine language, and the sentence is executed immediately. After the execution is completed, the next sentence is translated and executed. Sequentially: Translate a statement and execute a statement immediately. For example Python

  4. Special case: JAVA, compile once, execute everywhere
    JAVA is not exactly the same as the above two situations. Java introduces the concept of bytecode files (.class) and JAVA virtual machine (JVM). In detail, it is:Java is similar to the C language that compiles the source program at one time, but the C program directly compiles the source program into machine language, and the java program is compiled into a bytecode file (.class). Subsequently, the java bytecode file is interpreted as machine language on the machine loaded with JVM, and then executed.

The Java compiler compiles the .java file into bytecode (.class file). The code in the class file is an intermediate code between the source program and the machine code. The bytecode cannot be anything except JVM. The platform understands that when the JVM receives the bytecode, it will identify the platform it is working on, and then convert the bytecode into native machine code.

To sum up: the compilation process of java is equivalent to adding a link in the compilation process of c, that is, from "source program -> machine language" to "source program -> bytecode file -> machine language", The bytecode file can only be recognized and understood by the JVM. Therefore, this new process makes java not as fast as C/C++, but the new "Cross-platform", as long as there is a jvm machine can execute bytecode files, that is, "Compile once, execute everywhere”。

Intelligent Recommendation

Translate-Language-Webpack-Plugin automatic translation plug-in

translate-language-webpack-plugin A plug -in for automated conversion language is different from i18N. There is no need to write multiple linguistic files. Use Google API to translate. You only need I...

Program language translation: 2.1 In a compiler divided by stages, the entire process of compiler work is (). 2.2 When translating a high-level language program, variables in the source program cannot be mapped to ( )

Tags: Soft test junior programmers are prone to errors, computer basics, programming language translation 2.1 In a compiler divided by stages, the ( ) that runs through compiler work is always ( ). Qu...

C language translation program

Written in C language source code directly out of the computer is not recognized, it must go through a series of intermediate process, so that the computer can become a source of language recognition,...

High level language java

High-level language C& C++ C was born in 1972 Close to the hardware, running extremely fast and extremely efficient Can be used in operating systems, compilers, databases, network systems, etc. (T...

More Recommendation

MySQL high -level language

Articles directory 1. Import database 2.Select 3. Distinct 4.Where 5.and or Law -one Law two 6. in 7.Between 8.like passing 9.On.order by By 10. Function 1. Mathematical function 2. Plastic function 1...

High-level language compiler theory Chapter summary description of the machine syntax

Knowledge points: Meaning the programming language is defined by both the syntax and semantics, syntax, including the alphabet, words, symbols, grammatical units of these three basic concepts, and sem...

High-level language program design experiment five fourth questions

This question is actually calculating the value of each item. It judges which one will meet the meaning of the question, that is, the absolute value of the last item is less than 10, and finally add a...

There are three types of computer languages: machine language, assembly language and high-level language

What are the computer languages? There are three types of computer languages: machine language, assembly language and high-level language 1. Machine language Machine language is a collection of machin...

Ionic2 implements multi-language switching based on ngx-translate, translation

1. Install ng2-translate Go to the project directory at the command prompt and enter the following carriage return. npm install ng2-translate --save 2. Import TranslateModule First import TranslateMod...

Copyright  DMCA © 2018-2026 - All Rights Reserved - www.programmersought.com  User Notice

Top