Forskellen mellem kildeprogram og objektprogram

Det vigtigste forskel mellem kildeprogram og objektprogram er det Kildeprogram er et menneskeligt læseligt program skrevet af en programmør, mens objektprogram er et maskin eksekverbart program oprettet ved at komponere et kildeprogram.

Kildeprogrammer kan enten kompileres eller fortolkes til udførelse. Decompilers hjælper med at konvertere objektprogrammer tilbage til dets originale kildeprogrammer. Det er vigtigt at bemærke, at udtrykskildeprogrammet og objektprogrammet bruges som relative udtryk. Hvis du tager et programomdannelsesprogram (som en compiler), er det, der går ind, et kildeprogram, og hvad der kommer ud, er et objektprogram. Derfor kan et objektprogram, der er produceret af et værktøj, blive en kildefil til et andet værktøj.

INDHOLD

1. Oversigt og nøgleforskel
2. Hvad er kildeprogram
3. Hvad er objektprogram
4. Sammenligning side ved side - Kildeprogram vs objektprogram i tabelform
5. Opsummering

Hvad er kildeprogram?

Programmereren skriver kildeprogrammet ved hjælp af sprog på højere niveau. Derfor er det let at læse af menneskerne. Kildeprogrammer indeholder normalt meningsfulde variabelnavne og nyttige kommentarer for at gøre det mere læseligt. En maskine kan ikke direkte udføre et kildeprogram. En kompilator hjælper med at omdanne kildeprogram til eksekverbar kode, der skal udføres af maskinen. Alternativt er at bruge en tolk. Det udfører et kildeprogram linje for linje uden forudkompilering.

Figur 01: Et kildeprogram

Visual Basic er et eksempel på et kompileret sprog, mens Java er et eksempel på et tolket sprog. Visual Basic-kildefiler (.vb-filer) kompileres til .exe-kode, mens Java-kildefiler (.java-filer) først kompileres (ved hjælp af javac-kommando) til bytecode (en objektkode indeholdt i .klasse-filer) og derefter tolkes ved hjælp af java-tolk (ved hjælp af java-kommando). Når softwareapplikationer distribueres, inkluderer de typisk ikke kildefiler. Hvis applikationen imidlertid er open source, distribueres kilden også, og brugeren får også se og ændre kildekoden.

Hvad er objektprogram?

Objektprogram er normalt en maskin eksekverbar fil, som er resultatet af at kompilere en kildefil ved hjælp af en compiler. Bortset fra maskininstruktioner kan de omfatte fejlfindingsoplysninger, symboler, stakinformation, flytning og profilering af oplysninger. Da de indeholder instruktioner i maskinkode, er de ikke let læsbare af mennesker. Men nogle gange refererer objektprogrammer til et mellemliggende objekt mellem kilde- og eksekverbare filer.

Værktøjer kendt som linkere hjælper med at knytte et sæt objekter til et eksekverbart (f.eks. C-sprog). Som nævnt ovenfor er .exe-filer og bytecode-filer objektfiler, der produceres ved anvendelse af henholdsvis Visual Basic og Java. .Exe-filerne udføres direkte på Windows-platformen, mens bytecode-filer har brug for en tolk til udførelse.

De fleste softwareapplikationer distribueres kun med objektet eller eksekverbare filer. Det er muligt at konvertere objektet eller de eksekverbare filer tilbage til dets originale kildefiler ved dekompilering. For eksempel kan dekompileringsværktøjerne dekompilere java.class-filer (bytecode) til de originale .java-filer.

Hvad er forskellen mellem kildeprogram og objektprogram?

Kildeprogram er et menneskeligt læseligt program skrevet af en programmør. Det er skrevet på sprog på højere niveau såsom Java eller C. Derfor er et kildeprogram menneskeligt læseligt. Det er ikke forståeligt af maskinen.

På den anden side er Object-program et maskineudføreligt program oprettet efter kompilering af et kildeprogram. Det indeholder sprog på lavere niveau såsom samling eller maskinkode. Derfor er objektprogrammet ikke læseligt af mennesket. Det er forståeligt af maskinen.

Resume - Kildeprogram vs objektprogram

Forskellen mellem kildeprogram og objektprogram er, at kildeprogram er et menneskeligt læsbart program skrevet af en programmør, mens objektprogram er et maskineudføreligt program, der er oprettet ved at komponere et kildeprogram.

Reference:

1. "Kildekode." Wikipedia, Wikimedia Foundation, 17. maj 2018. Tilgængelig her

2. "Objektkode." Wikipedia, Wikimedia Foundation, 14. maj 2018. Tilgængelig her 

Billede høflighed:

1.'CodeCmmt002'By Dreftymac (CCBY 2.5) via Commons Wikimedia