Comment by pjmlp
7 years ago
So then C is cheating by your definition, because it is impossible to implement ANSI C standard library without using Assembly or compiler extensions.
7 years ago
So then C is cheating by your definition, because it is impossible to implement ANSI C standard library without using Assembly or compiler extensions.
I did say a small amount of assembly was fine. By "cheating", I mean something like converting the perl interpreter to assembly code and claiming that perl thus doesn't require code written in some other language.
Leaving out libraries is normal for a systems programming language. It is fine unless the language entirely doesn't work without the libraries.
that's what -ffreestanding and others (-nostdlib) are for.
C is not cheating, the compiler assumes you work on user level stuff. Want to write bare metal (kernel) then you need to tell the compiler.
Right, as mentioned on my comment, compiler extensions.
Strictly speaking that isn't proper C as defined by ISO/IEC 9899:2018.