Der Hauptunterschied zwischen Quellprogramm und Objektprogramm besteht darin, dass das Quellprogramm ein für Menschen lesbares Programm ist, das von einem Programmierer geschrieben wurde, während das Objektprogramm ein maschinenausführbares Programm ist, das durch Kompilieren eines Quellprogramms erstellt wurde.
Quellprogramme können zur Ausführung entweder kompiliert oder interpretiert werden. Decompiler helfen beim Konvertieren von Objektprogrammen zurück in ihre ursprünglichen Quellprogramme. Es ist wichtig zu beachten, dass die Begriffe Quellprogramm und Objektprogramm als relative Begriffe verwendet werden. Wenn Sie ein Programmtransformationsprogramm (wie einen Compiler) nehmen, ist das, was hineingeht, ein Quellprogramm, und was herauskommt, ist ein Objektprogramm. Daher kann ein von einem Tool erstelltes Objektprogramm eine Quelldatei für ein anderes Tool werden.
Was ist Quellprogramm?
Der Programmierer schreibt das Quellprogramm in einer höheren Sprache. Daher ist es für den Menschen leicht lesbar. Quellprogramme enth alten normalerweise aussagekräftige Variablennamen und hilfreiche Kommentare, um die Lesbarkeit zu verbessern. Eine Maschine kann ein Quellprogramm nicht direkt ausführen. Ein Compiler hilft dabei, Quellprogramme in ausführbaren Code umzuwandeln, der von der Maschine ausgeführt werden kann. Alternativ ist ein Dolmetscher einzusetzen. Es führt ein Quellprogramm zeilenweise ohne Vorkompilierung aus.
Abbildung 01: Ein Quellprogramm
Visual Basic ist ein Beispiel für eine kompilierte Sprache, während Java ein Beispiel für eine interpretierte Sprache ist. Visual Basic-Quelldateien (.vb-Dateien) werden in.exe-Code kompiliert, während Java-Quelldateien (.java-Dateien) zuerst (mit dem javac-Befehl) in Bytecode (ein in.class-Dateien enth altener Objektcode) kompiliert und dann mit interpretiert werden Java-Interpreter (mit Java-Befehl). Wenn Softwareanwendungen vertrieben werden, enth alten sie normalerweise keine Quelldateien. Wenn die Anwendung jedoch Open Source ist, wird der Quellcode ebenfalls verteilt und der Benutzer kann den Quellcode ebenfalls sehen und ändern.
Was ist ein Objektprogramm?
Objektprogramm ist normalerweise eine maschinenausführbare Datei, die das Ergebnis der Kompilierung einer Quelldatei mit einem Compiler ist. Abgesehen von Maschinenbefehlen können sie Debugging-Informationen, Symbole, Stapelinformationen, Verschiebungs- und Profilierungsinformationen enth alten. Da sie Anweisungen im Maschinencode enth alten, sind sie für Menschen nicht ohne weiteres lesbar. Aber manchmal verweisen Objektprogramme auf ein Zwischenobjekt zwischen Quell- und ausführbaren Dateien.
Werkzeuge, die als Linker bekannt sind, helfen dabei, eine Reihe von Objekten in eine ausführbare Datei (z. B. C-Sprache) zu verlinken. Wie oben erwähnt, sind.exe-Dateien und Bytecode-Dateien Objektdateien, die bei der Verwendung von Visual Basic bzw. Java erzeugt werden. Die.exe-Dateien werden direkt auf der Windows-Plattform ausgeführt, während Bytecode-Dateien einen Interpreter für die Ausführung benötigen.
Die meisten Softwareanwendungen werden nur mit den Objekt- oder ausführbaren Dateien vertrieben. Es ist möglich, die Objekt- oder ausführbaren Dateien durch Dekompilierung wieder in ihre ursprünglichen Quelldateien zu konvertieren. Beispielsweise können die Decompiler-Tools java.class-Dateien (Bytecode) in ihre ursprünglichen.java-Dateien dekompilieren.
Was ist der Unterschied zwischen Quellprogramm und Objektprogramm?
Quellprogramm ist ein für Menschen lesbares Programm, das von einem Programmierer geschrieben wurde. Es ist in höheren Sprachen wie Java oder C geschrieben. Daher ist ein Quellprogramm für Menschen lesbar. Es ist für die Maschine nicht verständlich.
Auf der anderen Seite ist ein Objektprogramm ein maschinenausführbares Programm, das nach dem Kompilieren eines Quellprogramms erstellt wird. Es enthält niedrigere Sprachen wie Assembler oder Maschinencode. Daher ist das Objektprogramm für den Menschen nicht lesbar. Es ist für die Maschine verständlich.
Zusammenfassung – Quellprogramm vs. Objektprogramm
Der Unterschied zwischen Quellprogramm und Objektprogramm besteht darin, dass das Quellprogramm ein für Menschen lesbares Programm ist, das von einem Programmierer geschrieben wurde, während das Objektprogramm ein maschinenausführbares Programm ist, das durch Kompilieren eines Quellprogramms erstellt wurde.