Razlika između izvornog i objektnog programa

Sadržaj:

Razlika između izvornog i objektnog programa
Razlika između izvornog i objektnog programa

Video: Razlika između izvornog i objektnog programa

Video: Razlika između izvornog i objektnog programa
Video: Asymmetric Encryption - Simply explained 2024, Juli
Anonim

Ključna razlika između izvornog i objektnog programa je u tome što je izvorni program čovjeku čitljiv program koji je napisao programer dok je objektni program strojno izvršni program kreiran kompajliranjem izvornog programa.

Izvorni programi se mogu kompajlirati ili interpretirati za izvršenje. Dekompilatori pomažu da se objektni programi ponovo konvertuju u originalne izvorne programe. Važno je napomenuti da se termini izvorni program i objektni program koriste kao relativni pojmovi. Ako uzmete program za transformaciju programa (poput kompajlera), ono što ulazi je izvorni program, a ono što izlazi je objektni program. Stoga, objektni program proizveden od strane jednog alata može postati izvorni fajl za drugi alat.

Šta je izvorni program?

Programer piše izvorni program koristeći jezik višeg nivoa. Stoga ga ljudi lako čitaju. Izvorni programi obično sadrže smislena imena varijabli i korisne komentare kako bi bili čitljiviji. Stroj ne može direktno izvršiti izvorni program. Kompajler pomaže da se izvorni program transformiše u izvršni kod koji će izvršiti mašina. Alternativno, je korištenje tumača. Izvršava izvorni program red po red bez predkompilacije.

Razlika između izvornog i objektnog programa
Razlika između izvornog i objektnog programa
Razlika između izvornog i objektnog programa
Razlika između izvornog i objektnog programa

Slika 01: Izvorni program

Visual Basic je primjer kompajliranog jezika, dok je Java primjer interpretiranog jezika. Visual Basic izvorne datoteke (.vb datoteke) se kompajliraju u.exe kod, dok se Java izvorne datoteke (.java datoteke) prvo kompajliraju (pomoću javac komande) u bajt kod (objektni kod sadržan u.class datotekama), a zatim se interpretiraju pomoću java interpreter (koristeći java komandu). Kada se softverske aplikacije distribuiraju, obično neće uključivati izvorne datoteke. Međutim, ako je aplikacija otvorenog koda, izvor se također distribuira i korisnik također može vidjeti i modificirati izvorni kod.

Šta je objektni program?

Objektni program je obično izvršna datoteka na mašini, koja je rezultat kompajliranja izvorne datoteke pomoću kompajlera. Osim mašinskih instrukcija, one mogu uključivati informacije o otklanjanju grešaka, simbole, informacije o steku, premještanju i informacije o profiliranju. Pošto sadrže instrukcije u mašinskom kodu, ljudi ih ne mogu lako pročitati. Ali ponekad, objektni programi se odnose na posredni objekat između izvornih i izvršnih datoteka.

Alati poznati kao linkeri pomažu u povezivanju skupa objekata u izvršnu datoteku (npr. C jezik). Kao što je gore spomenuto,.exe datoteke i bytecode datoteke su objektne datoteke proizvedene kada se koristi Visual Basic i Java. Datoteke.exe se direktno izvršavaju na Windows platformi dok fajlovima bajt koda treba tumač za izvršenje.

Većina softverskih aplikacija se distribuira samo sa objektom ili izvršnim datotekama. Moguće je konvertovati objekt ili izvršne datoteke nazad u originalne izvorne datoteke dekompilacijom. Na primjer, alati za dekompilaciju mogu dekompilirati java.class fajlove (bajt kod) u originalne.java fajlove.

Koja je razlika između izvornog i objektnog programa?

Izvorni program je ljudski čitljiv program koji je napisao programer. Napisan je na jezicima višeg nivoa kao što su Java ili C. Stoga je izvorni program čitljiv za ljude. Mašina to nije razumljivo.

S druge strane, objektni program je mašinski izvršni program kreiran nakon kompajliranja izvornog programa. Sadrži jezike nižeg nivoa kao što su asemblerski ili mašinski kod. Stoga, objektni program nije čitljiv od strane čovjeka. To je razumljivo mašini.

Razlika između izvornog programa i objektnog programa u tabelarnom obliku
Razlika između izvornog programa i objektnog programa u tabelarnom obliku
Razlika između izvornog programa i objektnog programa u tabelarnom obliku
Razlika između izvornog programa i objektnog programa u tabelarnom obliku

Sažetak – Izvorni program vs Objektni program

Razlika između izvornog i objektnog programa je u tome što je izvorni program čovjeku čitljiv program koji je napisao programer, dok je objektni program strojno izvršni program kreiran kompajliranjem izvornog programa.

Preporučuje se: