Peamine erinevus – kompileerimisaeg vs käitusaeg
Enamik programme on kirjutatud kõrgetasemeliste programmeerimiskeelte abil. Nendel programmeerimiskeeltel on inglise keelega sarnane süntaks. Kõrgetasemelised keeled on inimestele kergesti arusaadavad, kuid arvutile ei mõisteta. Seetõttu tuleks kirjutatud programm või lähtekood teisendada masinale arusaadavasse vormingusse. Seda nimetatakse masinkoodiks. Lähtekoodi masinkoodiks teisendamiseks kuluvat ajavahemikku nimetatakse kompileerimisajaks. Sellised ülesanded nagu süntaksianalüüs, semantiline analüüs ja koodi genereerimine toimuvad kompileerimise ajal. Ajavahemikku kompileerimise ajal loodud täitmisfaili käitamiseks nimetatakse käitusajaks. Mõlemad terminid on seotud programmi erinevate elutsükli faasidega. Selles artiklis käsitletakse erinevust kompileerimisaja ja käitusaja vahel. Peamine erinevus kompileerimisaja ja käitusaja vahel on see, et kompileerimisaeg on programmeerimise elutsükli faas, mis teisendab lähtekoodi käivitatavaks failiks, samas kui käitusaeg viitab programmeerimise elutsükli faasile, mis käivitab kompileerimise ajal genereeritud käivitatavad failid. Kompileerimise ajal esinevaid vigu nimetatakse kompileerimisaja vigadeks ja käitusajal esinevaid vigu nimetatakse eranditeks.
Mis on kompileerimisaeg?
Programmeerija saab anda arvutile juhiseid programmeerimiskeelt kasutades. Enamik programmeerimiskeeli, mida programmeerija kasutab, on kõrgetasemelised programmeerimiskeeled. Nende süntaks sarnaneb inglise keelega. Need keeled on inimestele kergesti loetavad ja arusaadavad. Kõrgetasemelises keeles kirjutatud programmi nimetatakse lähtekoodiks. Lähtekood võib sõltuv alt ülesandest sisaldada rida ridu või mitut rida. Kõrgetasemelises keeles esitatud juhised ei ole arvutile arusaadavad. Arvuti saab masinkoodist aru. Seetõttu tuleb lähtekood kompileerida masinkoodiks, et olla käivitatav programm. Programmeerimise elutsükli faasi nimetatakse kompileerimisajaks. See on ajavahemik kompileerimisprotsessi lõpuleviimiseks. Kompileerimise ajal tehtavad toimingud hõlmavad süntaksi analüüsi, semantilist analüüsi ja koodi genereerimist.
Joonis 01: Kompileerimise aeg ja tööaeg
Kompileerimise ajal võib esineda vigu. Need tekivad süntaksi- ja semantiliste vigade tõttu. Need vead väldivad edukat kompileerimist. Kompilaator annab märku kompileerimisaja vigadest. See kuvab teate, millisel real viga ilmnes. Mõned levinumad kompileerimisaja vead on puuduvate sulgude, õigekirjavea identifikaatorite ja valesti kirjutatud märksõnade puudumine. Kui kompileerimise tõrge ilmneb, peaks programmeerija selle vea parandama.
Mis on käitusaeg?
Käitusaega tuntakse ka kui täitmisaega. See on aeg, mil programm töötab erinev alt teistest programmi elutsükli faasidest, nagu kompileerimisaeg, laadimisaeg jne. Kui kompileerimisprotsess on lõppenud, käivitab selle kasutaja. Ajavahemikku kompileerimise ajal genereeritud täitmisfaili käitamiseks nimetatakse käitusajaks. Vigadele viitamiseks võib kasutada terminit käitusaeg. Isegi programm on korralikult kompileeritud, võib esineda vigu.
Need vead ei anna oodatud väljundit. See võib ka programmi täitmise lõpetada. Need vead ilmnevad käitusajal, seega nimetatakse neid käitusaegseteks vigadeks või eranditeks. Mõned käitusaegsed vead jagavad arvu nulliga, kui massiiv on seotud ja mälu saab otsa.
Milline on kompileerimisaja ja käitusaja sarnasus?
Nii kompileerimisaeg kui ka käitusaeg on programmi elutsükli faasid
Mis vahe on kompileerimisajal ja käitusajal?
Kompleerimise aeg vs käitusaeg |
|
Kompileerimisaeg on programmeerimise elutsükli faas, mis teisendab lähtekoodi käivitatavaks failiks. | Käitusaeg on aeg, mil programm töötab, erinev alt teistest programmi elutsükli faasidest, nagu kompileerimisaeg, linkimisaeg ja laadimisaeg. |
Vead | |
Kompleerimise aja vead on süntaksi- ja semantilised vead. | Käitusvigu nimetatakse eranditeks. |
Kokkuvõte – kompileerimisaeg vs käitusaeg
Kompileerimisaeg ja käitusaeg on programmeerimise elutsükli kaks faasi. Selles artiklis käsitleti kompileerimisaja ja käitusaja erinevust. Programmeerija lähtekoodi teisendamine masinkoodiks toimub kompileerimise ajal. Kompileerimise ajal loodud täitmisfaili käitamist nimetatakse käitusajaks. Kui kompileerimise ajal on viga, kuvab kompilaator veale vastava teate. Isegi kompileeritud programm ei pruugi anda oodatud väljundit. Sel juhul on tegu käitusaegse vea või erandiga. Kompileerimisaja ja tööaja erinevus seisneb selles, et kompileerimisaeg on programmeerimise elutsükli faas, mis teisendab lähtekoodi käivitatavaks failiks, samas kui käitusaeg viitab programmeerimise elutsükli faasile, mis käivitab kompileerimise ajal genereeritud käivitatavad failid.