Hacker News new | past | comments | ask | show | jobs | submit login

The greatest trick libc ever pulled was convincing the world it didn't exist.



Isn't libc just a set of libraries and therefore not considered a runtime environment? C does have a small runtime environment, but I'd say it's the existence of the function call stack, as well as the on_exit system that's built into the core language.


As well as things like floating point and large integer emulation, startup code, etc. __divdi3, for example, divides 64 bit integers on i386.

See /usr/lib/x86_64-linux-gnu/{crt1.o,crti.o,crtn.o,gcrt1.o,Mcrt1.o,Srct1.o}.


On Windows it's even called "Microsoft Visual C Run-Time" (MSVCRT): http://en.wikipedia.org/wiki/Windows_library_files#Msvcrt.dl...


I think your parent comment means runtimes in the sense of a garbage collector or other services that run concurrently with user code or are scheduled periodically, which will put you in a world of hurt if you touch one of their objects without asking its permissions and/or playing by its rules.


Well, it's so small compared to "real" runtimes, it might as well not exist.


You can compile C code without a libc.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: