Razlika između vremena izvođenja i vremena kompilacije

Autor: Marcus Baldwin
Datum Stvaranja: 15 Lipanj 2021
Datum Ažuriranja: 18 Studeni 2024
Anonim
Top 7: Najludjih Borbi Zivotinja Uhvacenih Na Kameri
Video: Top 7: Najludjih Borbi Zivotinja Uhvacenih Na Kameri

Sadržaj

Kako funkcionira računalni program tajna je za tipičnog korisnika koji vjeruje radu programera. Programer mora razumjeti kako računalo očekuje da će dobiti naredbe u dva koraka izvršavanja (vrijeme sastavljanja i vrijeme izvršavanja), uz ostale koncepte.

Vrijeme izgradnje

Prva faza izvršavanja programa, vrijeme sastavljanja, uključuje prijevod jezika razumljivog ljudima ili "izvornog koda" na jezik koji računalo razumije ili "strojni kod". Izvorni kôd sadrži riječi koje prepoznajete, brojeve u decimalnom formatu i organizirane strukture koje olakšavaju razumijevanje tijeka uputa. Korak vremena sastavljanja dovršen je kada je novi program izvršna datoteka.


Vrijeme izvođenja

Računalo koristi upute izrađene u vrijeme sastavljanja za pokretanje programa. Tijekom izvođenja računalo čita prijevod izvornog koda kako bi izvršavalo zadatke ugrađene u programer. Svaki put kad netko pokrene program, radi ga u vrijeme izvođenja.

Razlika

Vrijeme prevođenja prelazi se samo jednom radi prevođenja izvornog koda u izvršnu datoteku koja se može pozvati onoliko puta koliko je potrebno bez ponovnog prevođenja, osim ako program ne zahtijeva promjene. Većina korisnika koristi samo vrijeme izvođenja.


Pogreške tijekom prevođenja

Pogreške se mogu pojaviti tijekom obje faze izvršavanja programa. U izvornom kodu postoje pogreške pri prevođenju ili sintaksne pogreške. Primjeri su to pogrešno napisane naredbe, problemi u redoslijedu operacija, nespojive kombinacije vrsta varijabli i propusti potrebnih elemenata. Programer može lako otkriti pogreške tijekom prevođenja, jer su one sintaktičke, a ne logične. Prevoditelj obično pronađe pogrešku u vremenu prevođenja i objašnjava ili daje savjete za njezino rješavanje. Ako kompajler izvodi izvršnu datoteku iz koda, program nema pogrešaka tijekom kompajliranja.

Katastrofalne pogreške tijekom izvođenja

Runtime pogreške mogu uzrokovati pad programa i njegovo rano prekidanje. Primjeri takvih pogrešaka su pristup ograničenoj memoriji i dijeljenje s nulom. Izraz "x / y" sintaktički je točan, ali ako "y" sadrži vrijednost 0 u vrijeme izvođenja, program neće uspjeti. Programeru će biti teško pronaći pogreške tijekom izvođenja zbog činjenice da se one obično događaju pod određenim uvjetima.


Logičke pogreške izvršavanja

Logična pogreška ne uzrokuje neuspjeh programa, ali čini da radi na način koji programer ne želi. Razmotrite program s izbornikom opcija koji očekuje da korisnik unese željeni broj opcije. Ako korisnik unese slovo, program ga, čekajući broj, može pretvoriti u numeričku vrijednost i poslati korisnika na jednu od opcija, izgleda kao da ništa nije u redu, umjesto da obavijesti da je korisnik upisao nevaljanu opciju.