Słyszałem o takich rzeczach jak „C Runtime”, „Visual C ++ 2008 Runtime”, „.NET Common Language Runtime” itp.
- Czym dokładnie jest „ środowisko wykonawcze ”?
- Z czego to jest zrobione?
- Jak współdziała z moim kodem? A może ściślej, w jaki sposób kontrolowany jest mój kod?
Podczas kodowania języka asemblera w systemie Linux mogłem użyć instrukcji INT do wywołania systemu. Czy więc środowisko wykonawcze jest niczym więcej niż tylko fabrycznie przygotowanymi funkcjami, które otaczają funkcję niskiego poziomu w bardziej abstrakcyjne i funkcje wysokiego poziomu? Ale czy to nie wydaje się bardziej podobne do definicji biblioteki, a nie środowiska wykonawczego?
Czy „środowisko wykonawcze” i „ biblioteka środowiska wykonawczego ” to dwie różne rzeczy?
DODAJ 1
Obecnie myślę, że może Runtime ma coś wspólnego z tak zwaną maszyną wirtualną , taką jak JVM. Oto cytat, który prowadzi do takiej myśli:
Ten proces kompilacji jest wystarczająco skomplikowany, aby można go było podzielić na kilka warstw abstrakcji, i zwykle wymagają one trzech tłumaczy: kompilatora, implementacji maszyny wirtualnej i asemblera. --- Elementy systemów komputerowych (wprowadzenie, droga do krainy sprzętu)
DODAJ 2
Książka Expert C Programming: Deep C Secrets . Rozdział 6 Struktury danych środowiska wykonawczego jest użytecznym odniesieniem do tego pytania.
runtime library
plus trochę kodu sterującego i trochę stanu (dostarczone przez system operacyjny).