Ich habe das nur selbst gefragt und habe mir einige Stunden lang das Gehirn verletzt. Ich habe immer noch nichts gefunden, was wirklich Sinn macht. Jeder, der etwas zu einem Thema schreibt, kann nicht wirklich "unterrichten". Wenn Sie jemanden unterrichten möchten, nehmen Sie die grundlegendste Sprache, die eine Person versteht, damit sie sich beim Umgang mit einem Thema nicht um andere Themen kümmern muss. Also bin ich zu einem Schluss gekommen, der gut in all dieses Chaos zu passen scheint.
In der Programmiersprache C startet jedes Programm mit der Funktion main (). Andere Sprachen definieren möglicherweise andere Funktionen, in denen das Programm gestartet wird. Ein Prozessor kennt main () jedoch nicht. Ein Prozessor kennt nur vordefinierte Befehle, die durch Kombinationen von "0" und "1" dargestellt werden.
Bei der Mikroprozessorprogrammierung ohne zugrunde liegendes Betriebssystem (Microsoft Windows, Linux, MacOS usw.) müssen Sie dem Prozessor explizit mitteilen, wo er beginnen soll, indem Sie den ProgrammCounter (PC) festlegen, der iteriert und springt (Schleifen, Funktionsaufrufe) die dem Prozessor bekannten Befehle. Sie müssen wissen, wie groß der RAM ist, Sie müssen die Position des Programmstapels (lokale Variablen) sowie die Position des Heaps (dynamische Variablen) und die Position globaler Variablen (z. B. SSA) festlegen ?) im RAM. Ein einzelner Prozessor kann jeweils nur ein Programm ausführen.
Hier kommt das Betriebssystem ins Spiel. Das Betriebssystem selbst ist ein Programm, das auf dem Prozessor ausgeführt wird. Ein Programm, mit dem benutzerdefinierter Code ausgeführt werden kann. Führt mehrere Programme gleichzeitig aus, indem zwischen den Ausführungscodes der Programme (die in den RAM geladen werden) gewechselt wird. Aber das Betriebssystem ist ein Programm, jedes Programm ist anders geschrieben. Wenn Sie den Code Ihres benutzerdefinierten Programms einfach in den Arbeitsspeicher stellen, wird er nicht ausgeführt, das Betriebssystem kennt ihn nicht. Sie müssen Funktionen des Betriebssystems aufrufen, das Ihr Programm registriert, und dem Betriebssystem mitteilen, wie viel Speicher das Programm benötigt, wo sich der Einstiegspunkt in das Programm befindet (die main () - Funktion bei C). Und genau das befindet sich in der RuntimeLibrary und erklärt, warum Sie für jedes Betriebssystem eine spezielle Bibliothek benötigen.
Dies erklärt auch, warum es zur Laufzeit NICHT dynamisch verknüpft wird wie DLL-Dateien, selbst wenn es RUNTIMELibrary heißt. Die RuntimeLibrary muss statisch verknüpft sein, da sie beim Start Ihres Programms benötigt wird. Die RuntimeLibrary injiziert / verbindet Ihr benutzerdefiniertes Programm bei RUNTIME mit einem anderen Programm (dem Betriebssystem). Dies führt wirklich dazu, dass ein Gehirn ...
Schlussfolgerung: RUNTIMELibrary ist ein Fehler bei der Benennung. Möglicherweise gab es in den frühen Zeiten keine DLL (Verknüpfung zur Laufzeit), und das Problem, den Unterschied zu verstehen, gab es einfach nicht. Aber selbst wenn dies wahr ist, ist der Name schlecht gewählt.
Bessere Namen für die RuntimeLibrary könnten sein: StartupLibrary / OSEntryLibrary / SystemConnectLibrary / OSConnectLibrary
Ich hoffe, ich habe es richtig gemacht, bis zur Korrektur / Erweiterung.