※スタイルシート未対応ブラウザではレイアウトを正確に再現できません。
  > | advanced by | contents  | that returns in <    
                   < [modosusu] > Color magazine monochrome light and shade   font predetermined, Gothic Ming-style type longhand   size Konaka large   standard  


  The compiler is a translation software.   

  1. ..clause 1..: All are machine languages.
  2. ..clause 2..: Appearance of programming language
  3. ..clause 3..: C language translation software

[1] All are machine languages.

Though the previous paragraph easily said to it that it will operate the program
Here, it will explain that more in detail.

To begin with, you pass and the program described ahead ..usual character string.. doesn't pass.
Though you also think that it has heard that the computer is working by the binary number
Does the computer that moves by the binary number move recognizing the character string why?

Originally, being able to understand for the computer is only an instruction written by the binary number.
It is instruction ・・・・ written by the binary number, and it is a guy so-called who says the machine language (machine language).

[ Image of   machine language   ]
000101001101010100101010
000101010101010010110100
101010001010101101010110
000101001010101001001101
000101001010101000000101
This is mistaken the image by this only though arranges one for 0 and doesn't exist in [detarame].
What kind of can able now and then east and west, computer to be it, and be able to recognize only an instruction this shape.

It returns to contents.


[2] Appearance of programming language

It is only a machine language (machine language) that can understand the computer.
Actually, such a program was used for the computer dawn.
0 the great number and 1 was input while making the toggle type switch [pachinpachin].

However, it seems to faint in this.
Then, to be thought first of all is to shorten the digit of the figure.

[ Machine language of   hexadecimal number   ]
01  85  AD  7F  7C  A4  FA  6B  AD
06  F5  AB  74  7E  DC  18  FA  A4
01  7F  A7  C5  D8  6B  4E  A4  FA
It is a mode of expression called this is a so-called hexadecimal number.
It shortens because four binary number digits can be expressed by one digit in the hexadecimal number.
And, the assembler that made this each one of the figure a sign was thought, too.
[   Assembler   ]
MOV    AH,BH
ADD    AX,70
JPN    AF,01
Though the programming fairly became efficient by this symbolization
Still, there is no change in a cramped sign it for the normal person to handle it.
The programming language of the world first that greatly changes this is FORTRAN.
[   FORTRAN (FORTRAN)  ]
  DO 10 I=1,10000
   READ *,X
   IF (X,GT,MAX)MAX=X
10 CONTINUE
It becomes near English and a considerable expression if coming here, and even the normal person understands if it studies.
C language is counted by one (a language and a high-level language near these men's words).

[   High-level language   ]
Programming language that man can plainly write.
On the other hand, the machine language and the assembly are called a low-level language.

It returns to contents.


[3] C language translation software

Because the high-level language is a language that man thought about, it is not possible to understand to the computer.
It is necessary to translate to make the computer understand this.
English is translated into Japanese and the same thing basically.

Though it is also possible that this work, and man does of course by the hand work
Then, there is neither doing the programming after all by the machine language nor a great difference.
Therefore, the software to translate exists.

There are chiefly two kinds of translation method, and the method of translating everything at a dash is used for C language.


[   Simultaneous translation   ]
In other than C language the languages, there is a type to do the simultaneous translation, too.
They are called an interpreter.
It is a fault that the speed is low-speed though a flexible composition can be done.

[   C language interpreter   ]
There is an environment of the interpreter type also in C language.
It is possible to execute it while confirming the program one by one.
Though it is very convenient for the bug correction
So that the speed that is the advantage of maximum C language is sacrificed
It is never used by the practical purpose.
Software that compiles, and translates this translation is called a compiler.
This software is necessary though it has already explained obtaining and the usage of the compiler for that.

[   Compiler   ]
Software that translates character string file written by C language into machine language.
This compiler actually operates by the mechanism of three stages.

First of all, the character string is adjusted to the start with software of pre-processor.
Replace uniting and the sign of the blank and changing line and make the program easy to analyze.
Moreover, # define quasi-instruction etc. described later are processed here.

Next, optimization is done at this time though it is compiled by the compiler.
Because the speed when operating by the method of the translation is different, even the program of same C language :.
The compiler is translated as becoming more high-speed.


[   Optimization   ]
Function that translates into machine language devising it at high speed or more to operate.
Finally, these translated machine language programs are united with software of linker.
It is called a link to unite by the linker.
The data of the machine language becomes an executable file by being linked.
[ Flow of   compilation   ]
Program and source code of C language
          V
[Puripurosesu](adjustment of character string)
          V
Compilation(translation)
          V
Link(uniting)
          V
Executable software and executable file

- It might be called that it compiles bringing [puripurosesu], the compilation, and the link together.
  Moreover, might it bring together into making an executable file and it be called the build.

The file that became an executable file (in short, EXE file)
It is possible to execute it as an application.

Because these a series of work is completely automated now
The software that can be operated is made only from pushing the button usually ..us.. no consideration especially.

It returns to contents.


< - It is advanced -> | in | head that returns  to returning  next |.