Forskellen mellem runtime og kompileringstid

Forfatter: Sharon Miller
Oprettelsesdato: 22 Januar 2021
Opdateringsdato: 23 November 2024
Anonim
Difference between Compile-time, Run-time and Logical errors in C (hands-on) | C Programming
Video.: Difference between Compile-time, Run-time and Logical errors in C (hands-on) | C Programming

Indhold

Hvordan et computerprogram fungerer er et mysterium for den typiske bruger, der stoler på programmørernes arbejde. Programmøren skal forstå, hvordan computeren forventer at modtage kommandoer i de to udførelsestrin (kompileringstid og udførelsestid) ud over andre koncepter.

Bygge tid

Den første fase i at køre et program, kompileringstiden, involverer oversættelse af det sprog, der er forståeligt for mennesker, eller "kildekode" til et sprog, som computeren forstår, eller "maskinkode". Kildekoden indeholder ord, du genkender, tal i decimalformat og organiserede strukturer, der gør det lettere at forstå strømmen af ​​instruktioner. Tidspunktet for kompilering er afsluttet, når det nye program er en eksekverbar fil.


Kørselstid

Computeren bruger instruktionerne, der blev produceret på kompileringstidspunktet, til at køre programmet. Under runtime læser computeren oversættelsen af ​​kildekoden for at udføre de opgaver, der er inkorporeret af programmøren. Hver gang nogen kører programmet, gør de det på kørselstidspunktet.

Forskel

Kompileringstiden krydses kun én gang for at oversætte kildekoden til en eksekverbar fil, som kan kaldes så mange gange som nødvendigt uden at kompilere igen, medmindre programmet har brug for ændringer. De fleste brugere bruger kun køretiden.


Kompileringstidsfejl

Der kan opstå fejl i begge faser af programudførelsen. Kompileringstidsfejl eller syntaksfejl findes i kildekoden. Eksempler på disse er forkert stavede kommandoer, problemer i rækkefølge af operationer, inkompatible kombinationer af typer af variabler og udeladelse af nødvendige elementer. En programmør kan let registrere kompileringstidsfejl, fordi de er syntaktiske snarere end logiske. Compileren finder normalt en kompileringstidsfejl og forklarer eller giver tip til løsning af den. Hvis kompilatoren producerer en eksekverbar fil fra kode, har programmet ingen kompileringstidsfejl.

Katastrofale kørselsfejl

Kørselsfejl kan få et program til at gå ned og afslutte tidligt. Eksempler på sådanne fejl er begrænset hukommelsesadgang og deling med nul. "X / y" -sætningen er syntaktisk korrekt, men hvis "y" indeholder en værdi på 0 ved kørselstid, mislykkes programmet. En programmør kan have svært ved at finde kørselsfejl på grund af det faktum, at de normalt sker under visse betingelser.


Runtime logiske fejl

En logisk fejl får ikke programmet til at mislykkes, men det får det til at fungere på en måde, som programmøren ikke ønsker. Overvej et program med en indstillingsmenu, der forventer, at brugeren indtaster det ønskede valgnummer. Hvis brugeren indtaster et bogstav, kan programmet, der venter på et nummer, omdanne det til en numerisk værdi og sende brugeren til en af ​​mulighederne, ligesom intet er galt i stedet for at informere om, at brugeren har skrevet en ugyldig mulighed.