Wie sieht ein C# C++ oder Java Programme zur Laufzeit aus und wie arbeiten sie?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Sind zu derartigen Themen Informationen veröffentlicht und wenn ja wo finde ich sie?

Aber selbstverständlich ist das alles allgemein bekannt.

Programme zur Laufzeit

Stichwort: Assembler

Das kannst du mal Googeln - ist eine Programmiersprache. Also eigentlich Überbegriff für sehr hardwarenahe Programmiersprachen. Wenn du Assembler verstehst, verstehst du auch, wie Programme für einen Prozessor aussehen.

Danach solltest du dir anschauen, wie ein ausführbares Programm aufgebaut ist. Also z.B. ELF, was z.B. Linux der Standard ist.

Danach eben mal schauen, wie Objektorientierung implementiert wird. Gibt da auch genügend Literatur.

Das sind übrigens solche Sachen, die man bei einem Informatik-Studium lernt. Also erwarte nicht, dass es mit 2 Minuten irgendeinen Text lesen / Video anschauen getan ist ;).

Wie finden diese Sprachen die Implementation von Methoden, wenn sie sie über ein Interface aufrufen

Interfaces (z.B. in Java) sind doch hauptsächlich für den Type-Checker im Compiler relevant und zur Laufzeit ziemlich langweilig.

Ansonsten bitte noch mal genau erklären, was du damit meinst.

Gruß

Tuxgamer

Die "fehlenden Teile" wie Methoden und Objekte sind entweder im Programm (EXE-Datei, .java, .jar, ..) oder in LIBs, DLLs, JARs oder sonst wo, die entweder (schlecht!) direkt im Programm mit Pfad stehen oder über PATH etc. vom jeweiligen System gesucht werden.

Objekte im RAM - verstehe ich nicht. Das meiste ist doch sowieso im RAM mit wenigen Ausnahmen (ROM).

Ich meinte wie das Programm aussieht nach dem es in den arbeitsspeicher geladen wurde und wie es aus geführt wird

0
@JCK2000

Ds ist aber wieder mal eine sehr globale Frage.

Je nach Betriebssystem und Compiler etc. kann es reiner Maschinencode sein oder ein zu interpretierender Zwischencode.

Du kannst Dir ja die EXE oder JAR oder ... mit einem Hexadezimal-Editor anschauen. Der grösste Teil dessen, was Du siehst, steht so im Arbeitsspeicher. Der Rest ist Verwaltung, welcher Code wohin geladen wird, welche Berechtigungen, ...

Du kannst auf jeden Fall davon ausgehen, dass im Programm und damit auch im Speicher nicht die Namen der Variablen stehen (und evtl. auch nicht die der Funktionen, Methoden, ...) sondern nur Adressen.

0

Was möchtest Du wissen?