Erinevus lähte- ja objektprogrammi vahel

Sisukord:

Erinevus lähte- ja objektprogrammi vahel
Erinevus lähte- ja objektprogrammi vahel

Video: Erinevus lähte- ja objektprogrammi vahel

Video: Erinevus lähte- ja objektprogrammi vahel
Video: Токарный станок МН 80. РЕГУЛИРОВАНИЕ ПОДШИПНИКОВ шпинделя 2024, Juuli
Anonim

Põhiline erinevus lähteprogrammi ja objektprogrammi vahel on see, et lähteprogramm on programmeerija kirjutatud inimloetav programm, samas kui objektprogramm on masinas käivitatav programm, mis on loodud lähteprogrammi kompileerimise teel.

Lähteprogramme saab täitmiseks kas kompileerida või tõlgendada. Dekompilaatorid aitavad teisendada objektprogrammid tagasi nende algseteks lähteprogrammideks. Oluline on märkida, et termineid lähteprogramm ja objektprogramm kasutatakse suhteliste terminitena. Kui võtta programmi teisendusprogramm (nagu kompilaator), siis see, mis sisse läheb, on lähteprogramm ja see, mis väljub, on objektprogramm. Seetõttu võib ühe tööriista toodetud objektprogrammist saada teise tööriista lähtefail.

Mis on lähteprogramm?

Programmeerija kirjutab lähteprogrammi kasutades kõrgema taseme keelt. Seetõttu on see inimestele kergesti loetav. Lähteprogrammid sisaldavad tavaliselt tähendusrikkaid muutujate nimesid ja kasulikke kommentaare, et muuta see loetavamaks. Masin ei saa lähteprogrammi otse käivitada. Kompilaator aitab lähteprogrammi teisendada käivitatavaks koodiks, mida masin käivitab. Teine võimalus on kasutada tõlki. See käivitab lähteprogrammi ridahaaval ilma eelneva kompileerimiseta.

Erinevus lähteprogrammi ja objektprogrammi vahel
Erinevus lähteprogrammi ja objektprogrammi vahel
Erinevus lähteprogrammi ja objektprogrammi vahel
Erinevus lähteprogrammi ja objektprogrammi vahel

Joonis 01: Lähteprogramm

Visual Basic on kompileeritud keele näide, Java aga tõlgendatud keele näide. Visual Basicu lähtefailid (.vb-failid) kompileeritakse.exe-koodiks, samas kui Java lähtefailid (.java-failid) kompileeritakse esm alt (javac-käsku kasutades) baitkoodiks (klassifailides sisalduv objektikood) ja seejärel tõlgendatakse java interpreter (kasutades java käsku). Kui tarkvararakendusi levitatakse, ei sisalda need tavaliselt lähtefaile. Kui aga rakendus on avatud lähtekoodiga, levitatakse ka allikat ning kasutaja saab näha ja muuta ka lähtekoodi.

Mis on objektprogramm?

Objektprogramm on tavaliselt masinas käivitatav fail, mis on kompilaatori abil lähtefaili kompileerimise tulemus. Lisaks masina juhistele võivad need sisaldada silumise teavet, sümboleid, virna teavet, ümberpaigutamist ja profiiliteavet. Kuna need sisaldavad juhiseid masinkoodis, ei ole need inimestele kergesti loetavad. Kuid mõnikord viitavad objektprogrammid vaheobjektile lähte- ja käivitatava faili vahel.

Tööriistad, mida nimetatakse linkeriteks, aitavad linkida objektide komplekti käivitatavasse faili (nt C-keel). Nagu eespool mainitud, on.exe- ja baitkoodifailid objektifailid, mis luuakse vastav alt Visual Basicu ja Java kasutamisel. exe-failid käivitatakse otse Windowsi platvormil, samas kui baitkoodifailid vajavad täitmiseks tõlki.

Enamik tarkvararakendusi levitatakse ainult koos objekti või käivitatavate failidega. Objekti või käivitatavad failid on võimalik dekompileerimise teel teisendada tagasi algseteks lähtefailideks. Näiteks saavad dekompileerimistööriistad dekompileerida failid java.class (bytecode) algseteks java-failideks.

Mis vahe on lähteprogrammil ja objektprogrammil?

Allikasprogramm on inimesele loetav programm, mille on kirjutanud programmeerija. See on kirjutatud kõrgema taseme keeltes, nagu Java või C. Seetõttu on lähteprogramm inimesele loetav. See pole masinale arusaadav.

Teisest küljest on objektprogramm masinas käivitatav programm, mis on loodud pärast lähteprogrammi kompileerimist. See sisaldab madalama taseme keeli, nagu montaaži- või masinkood. Seetõttu pole objektprogramm inimesele loetav. See on masinale arusaadav.

Erinevus lähteprogrammi ja objektprogrammi vahel tabeli kujul
Erinevus lähteprogrammi ja objektprogrammi vahel tabeli kujul
Erinevus lähteprogrammi ja objektprogrammi vahel tabeli kujul
Erinevus lähteprogrammi ja objektprogrammi vahel tabeli kujul

Kokkuvõte – lähteprogramm vs objektprogramm

Erinevus lähteprogrammi ja objektprogrammi vahel seisneb selles, et lähteprogramm on inimesele loetav programm, mille on kirjutanud programmeerija, samas kui objektprogramm on masinas käivitatav programm, mis on loodud lähteprogrammi kompileerimise teel.

Soovitan: