Библиотека времени выполнения означает: код, который компилятор добавляет в вашу программу. Обычно он адаптируется к тому, как работает операционная система, и к тому, как язык хочет, чтобы операционная система работала.
Люди, пишущие C, хотели бы написать int fd = open("/dev/null", O_RDWR);
, чтобы открыть файл. Они не хотят писать int fd; asm volatile("int 0x80" : "=a" (&fd) : "a" (1), "b" ("/dev/null"), "c" (2));
. Таким образом, среда выполнения включает функцию с именем open
, внутри которой находится этот ассемблерный код.
Компилятор может напрямую преобразовать вызов функции open
в инструкцию int 0x80
- в этом случае это не будет средой выполнения, но разработчики компилятора предпочли бы определить его как обычную функцию, которая не генерирует специальных инструкций при ее вызове.