Ich habe von Dingen wie "C Runtime", "Visual C++ 2008 Runtime", ".NET Common Language Runtime", usw. gehört.
- Was ist " Laufzeit " genau?
- Woraus besteht es?
- Wie wirkt es sich auf meinen Code aus? Oder vielleicht genauer gesagt, wie wird mein Code von ihm gesteuert?
Beim Programmieren von Assembler unter Linux konnte ich den INT-Befehl verwenden, um den Systemaufruf durchzuführen. Ist die Laufzeit also nichts anderes als ein Haufen vorgefertigter Funktionen, die die Low-Level-Funktion in abstraktere High-Level-Funktionen verpacken? Aber scheint dies nicht eher die Definition für die Bibliothek zu sein, nicht für die Laufzeit?
Sind "Laufzeit" und " Laufzeitbibliothek " zwei verschiedene Dinge?
ADD 1
In diesen Tagen denke ich vielleicht Laufzeit hat etwas gemeinsam mit dem so genannten Virtuelle Maschine wie z.B. JVM. Hier ist das Zitat, das zu einem solchen Gedanken führt:
Dieser Kompilierungsprozess ist so komplex, dass er in mehrere Ebenen unterteilt werden muss mehrere Abstraktionsebenen aufzuteilen, und diese umfassen in der Regel drei Übersetzer: einen Compiler, eine Implementierung einer virtuellen Maschine und einen Assembler. --- Die Elemente der Datenverarbeitungssysteme (Einleitung, Der Weg hinunter zum Hardware-Land)
ADD 2
Das Buch Expert C Programming: Tiefe C-Geheimnisse . Kapitel 6 Laufzeitdatenstrukturen ist ein nützlicher Hinweis auf diese Frage.
HINZUFÜGEN 3 - 7:31 AM 2/28/2021
Hier ist meine Sichtweise, nachdem ich mir einige Kenntnisse über die Entwicklung von Prozessoren angeeignet habe. Die ganze Computersache besteht aus mehreren Ebenen von Abstraktion . Sie reicht von elementaren Transistoren bis hin zum laufenden Programm. Für jede level N
der Abstraktion, seine Laufzeit ist die unmittelbare level N-1
der Abstraktion, die darunter liegt. Und es ist Gott, der uns die Ebene 0 der Abstraktion gibt.