Biblioteka uruchomieniowa a środowisko uruchomieniowe - czy to to samo ?

0

Mam pytanie odnośnie biblioteki uruchomieniowej i środowiska uruchomieniowego. Polska wikipedia nie rozróżnia tych dwóch pojęć, dla niej to synonimy:

Biblioteka uruchomieniowa - zestaw funkcji (stąd library, czyli biblioteka w angielskim określeniu) narzędziowych, które wspomagają program komputerowy w trakcie jego działania, współpracujacych z systemem operacyjnym w celu dostarczenia odpowiednich funkcji wejścia, wyjścia i matematycznych.

Natomiast np. w angielskiej wikipedii istnieje pojęcie jak runtime environment:

A run-time system or runtime environment (also called runtime system or just runtime) is a software component designed to support the execution of computer programs written in some computer language. The run-time system contains implementations of basic low-level commands and may also implement higher-level commands and may support type checking, debugging, and even code generation and optimization.

Czy ktoś mógłby mi wytłumaczyć w sposób prosty praktyczną różnicę pomiędzy tymi pojęciami ? Pytam tylko z ciekawości...

0

W gruncie rzeczy ciężko podać bardzo dokładną definicję tych pojęć, bo to, co się w nich znajdzie, jakie będzie ich zadanie itd, zależy od ich autorów.

Na przykładzie C++ w Windows:
runtime library to coś, z czego korzystamy jawnie (albo z malutką pomocą kompilatora, który np. dostarczy nam argumenty do funkcji main) i nie jest ono obowiązkowe. Dzięki niej możemy np. użyć printf.
runtime environment to coś, z czego nasza aplikacja nie musi korzystać jawnie, ale w tym środowisku uruchamiana jest nasza aplikacja i mamy na to mniejszy wpływ (albo i wcale). I tak, przykładowo runtime library skorzysta z niej, gdy będzie chciało pobrać te parametry. Użyje do tego np. GetCommandLine, które należy do środowiska. printf z kolei wywoła nam, dajmy na to CreateFile, które utworzy nam uchwyt do wiersza polecenia i WriteFile, które prześle do niego znaki.

ps. całość jest nadmiernie uproszczona, a nazwy funkcji są orientacyjne, faktyczna implementacja może być inna.

1 użytkowników online, w tym zalogowanych: 0, gości: 1