Wouldn't it be the static or dynamic linked libraries for the particular program in question?
Wouldn't it be the static or dynamic linked libraries for the particular program in question?
This was a good name at the time. Its a bit of code that gets executed literally "at runtime". When you run a program, this object gets invoked to setup the stack and call main(). Its just a bit of assembly.
Then, decades later, languages like Java overloaded the term "runtime" to refer to their interpreter / vm. This causes confusion to this day, evidently.
There is a crt.0 "C Runtime" object. This is code that is literally run "at runtime". When you execute a binary, the C runtime is the first thing executed to setup the stack and call main().
This is just a bit of assembly that runs before main(). It shares ~nothing in common with "runtime" languages like Python or Java where the runtime is alive during the whole program's execution.
The C run time does not handle floats or threads or anything like that. Software floats are dealt with by the compiler and threading is implemented as its own library (either in userspace or built into the kernel).
https://learn.microsoft.com/en-us/cpp/c-runtime-library/c-ru...
It doesn't matter what people think, rather the CS point of view of a language runtime is.
That library is the runtime.
C implementation without the respective runtime is what is called a freestanding implementation as per ISO C.