Forskellen Mellem Montør Og Kompilator

Forskellen Mellem Montør Og Kompilator
Forskellen Mellem Montør Og Kompilator

Video: Forskellen Mellem Montør Og Kompilator

Video: Forskellen Mellem Montør Og Kompilator
Video: Как скомпилировать и запустить программу C с помощью GCC в Ubuntu 18.04 LTS (Linux) / Ubuntu 20.04 LTS 2024, April
Anonim

Assembler vs Compiler

Generelt er kompilator et computerprogram, der læser et program skrevet på et sprog, der kaldes kildesproget, og oversætter det til et andet sprog, der kaldes målsproget. Traditionelt var kildesprog et sprog på højt niveau såsom C ++, og målsprog var et lavt niveau sprog som forsamlingssprog. Der er dog kompilatorer, der kan konvertere et kildeprogram skrevet på Assembly-sprog og konvertere det til maskinkode eller objektkode. Montører er sådanne værktøjer. Så i sidste ende producerer både montører og compilere kode, der kan udføres direkte på en maskine.

Hvad er en kompilator?

Compiler er et computerprogram, der læser et program skrevet på et sprog, der kaldes kildesproget, og oversætter det til et andet sprog, der kaldes målsproget. Ofte er kildesproget et sprog på højt niveau, og målsproget er et lavt sprog. Så generelt kan kompilatorer ses som oversættere, der oversætter fra et sprog til et andet. Derudover udfører kompilatorer nogle optimeringer af koden. En typisk kompilator består af flere hovedkomponenter. Den første komponent er scanneren (også kendt som den leksikale analysator). Scanneren læser programmet og konverterer det til en række tokens. Den anden komponent er parseren. Det konverterer strengen af tokens til et parse-træ (eller et abstrakt syntaks-træ), der fanger programmets syntaktiske struktur. Næste komponent er de semantiske rutiner, der fortolker semantikken i den syntaktiske struktur. Kodeoptimeringer og endelig generering af kode følger dette.

Hvad er en montør?

Assembler er en software eller et værktøj, der oversætter forsamlingssprog til maskinkode. Så en samler er en type kompilator, og kildekoden er skrevet på forsamlingssprog. Samling er et menneskeligt læsbart sprog, men det har typisk en til en relation med den tilsvarende maskinkode. Derfor siges en samler at udføre isomorf oversættelse (en til en kortlægning). Avancerede montører giver yderligere funktioner, der understøtter programudvikling og fejlretningsprocesser. For eksempel giver typen af samlere kaldet makroenheder en makrofacilitet.

Hvad er forskellen mellem en samler og en kompilator?

Compiler er et computerprogram, der læser et program skrevet på et sprog og oversætter det til et andet sprog, mens en samler kan betragtes som en særlig type kompilator, der kun oversætter forsamlingssprog til maskinkode. Kompilatorer producerer normalt maskinens eksekverbare kode direkte fra et sprog på højt niveau, men montører producerer en objektkode, som muligvis skal linkes ved hjælp af linker-programmer for at køre på en maskine. Fordi forsamlingssprog har en en til en kortlægning med maskinkode, kan en samler bruges til at producere kode, der kører meget effektivt til lejligheder, hvor ydeevne er meget vigtig (for f.eks. Grafikmotorer, indlejrede systemer med begrænsede hardwareressourcer sammenlignet med en personlig computer som mikrobølger, vaskemaskiner osv.).

Anbefalet: