|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Vad är kompileringsprocess?

    Kompilering är processen att konvertera källkod skriven i ett programmerings- eller märkningsspråk till körbar kod. Den innehåller olika steg, var och en omvandlar koden till en form på lägre nivå tills den slutliga körbara koden produceras. Här är en allmän översikt över sammanställningsprocessen:

    1. Förbehandling:

    – Det här är ett valfritt skede som inträffar innan själva sammanställningen.

    - Förprocessorn bearbetar makron, villkorliga uttalanden och inkluderar direktiv för att förbereda källkoden för ytterligare kompilering.

    2. Lexikal analys (skanning):

    - Källkoden är uppdelad i individuella tokens, såsom nyckelord, identifierare, operatorer och skiljetecken.

    - Den lexikaliska analysatorn, även känd som skannern, identifierar dessa tokens och omvandlar dem till en sekvens av meningsfulla symboler.

    3. Syntaxanalys (analys):

    - Syntaxanalysatorn eller analysatorn kontrollerar om sekvensen av tokens följer grammatikreglerna för programmerings- eller märkningsspråket.

    - Den konstruerar en hierarkisk struktur som representerar programmets syntax och kontrollerar efter syntaxfel.

    4. Semantisk analys:

    - Kompilatorn utför semantisk analys för att säkerställa att programmet är semantiskt korrekt.

    - Den kontrollerar för datatypers kompatibilitet, variabeldeklarationer och referenser, såväl som för logiska fel eller inkonsekvenser i koden.

    5. Generation av mellanliggande representation (IR):

    - Kompilatorn översätter källkoden till en mellanrepresentation (IR) såsom abstrakta syntaxträd (AST) eller treadresskod.

    – IR är en språkoberoende representation av programmets struktur och semantik.

    6. Optimering:

    - Kompilatoroptimeringar tillämpas på IR för att förbättra effektiviteten hos den genererade koden.

    - Optimering kan inkludera konstant spridning, slingupprullning, registerallokering och eliminering av död kod.

    7. Kodgenerering:

    - Den optimerade IR konverteras till assemblerspråk, som är en symbolisk representation på låg nivå av maskininstruktionerna.

    - Assembly-koden är specifik för målprocessorns arkitektur.

    8. Länka:

    - För större program kombinerar länkningssteget objektfiler genererade från olika källfiler och externa bibliotek.

    - Länkning löser symbolreferenser mellan moduler och säkerställer att alla beroenden är uppfyllda.

    9. Montering:

    - Assembleren omvandlar assemblerspråkkoden till maskinkod, som är binära instruktioner som datorn kan exekvera direkt.

    10. Utförande:

    - Den slutliga maskinkoden laddas in i datorns minne och exekveras av CPU:n.

    Sammanställningsprocessen är en serie transformationer som gör att ett språkprogram på hög nivå skrivet av människor kan översättas till en form som direkt kan förstås av datorn. Varje steg i processen för koden närmare maskinens modersmål samtidigt som den säkerställer korrekthet och effektivitet.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man deklarerar en String i C + +
    ·Hur man initiera en tom array i C
    ·Hur Inkludera en header-fil
    ·C Funktion Retur Typer
    ·Hur man använder Ogre Vector3 Operator
    ·Hur ta reda på antalet element i en array C + +
    ·Vad är exemplet på DLL?
    ·Hur du använder banners och dekaler i GTK Radiant
    ·Hur att designa din egen Game Använda C + +
    ·Hur man installerar C + + kompilatorer för NetBeans
    Utvalda artiklarna
    ·Hur man berättar MySQL Query att hålla tomt utrymme
    ·Vad är NÄRA PASCAL och FAR PASCAL
    ·Hur man kan utveckla ColdFusion API
    ·Hur får man en Array index Antal i PHP
    ·Hur till Öppen & Convert FLL Dokument
    ·Hur att bryta en sträng i Python
    ·Så här ändrar du datumformat i PHP
    ·Hur man gör ett spel utan erfarenhet
    ·Konvertera WSDL till Java Använda Axis
    ·Lägga till en DLL till en CPP Project
    Copyright © Dator Kunskap https://www.dator.xyz