3 ms·
A lot of this makes sense to me. I’ve started writing a bare metal OS for Arm64. It’s very early but I’ve done some similar things. I’m using pascal strings, I
by MBCook 3y ago
A lot of this makes sense to me.
I’ve started writing a bare metal OS for Arm64. It’s very early but I’ve done some similar things. I’m using pascal strings, I’ve also renamed the types (though I’m using “int8” style, not “i8”).
I quickly decided that I never intend to port real software to it, so I really don’t have to conform to standard C library functions or conventions. That’s given me more freedom to play around. C is old enough to have a lot of baggage from when every byte was precious, even in function names.
It’s nice to get away from that. Much like the contents of this post, that plus other small renamed just ended up feeling like a nice cleanup.
- eddd-ddde 3y agoi never thought about that, saving bytes even in symbols
- Eggsellence 3y agoI think he is suggesting the opposite - use more verbose names for clarity.
- trealira 3y agoYeah, old C compilers would only look at the first 6 characters of a name, and the rest were insignificant. That's how you get nanrs like "strcpy" and "malloc" instead of something like "string_copy" or "mem_allocate" (I still think "memory_allocate" would be long enough to be annoying to type).
- lifthrasiir 3y agoOne of last vestiges of this fact AFAIK was libjpeg, which had a macro NEED_SHORT_EXTERNAL_NAMES that shortens all public identifiers to have unique 6-letter-long prefixes. Libjpeg-turbo nowadays has removed them though [1]. [1] https://github.com/libjpeg-turbo/libjpeg-turbo/commit/52ded8768022ab7e9e7670ddea0ba89e2890b837 https://github.com/libjpeg-turbo/libjpeg-turbo/commit/52ded8...
- nxobject 3y agoIIRC this mirrored the behavior of MACRO-11, DEC's first-class PDP-11 assembler.
- vdqtp3 3y ago> I never intend to port real software to it, so I really don’t have to conform to standard C library functions or conventions. So you're just building it as just a hobby, won’t be big and professional like gnu?
- 1f60c 3y agoContext: Linus Torvalds' announcement of Linux to comp.os.minix: https://www.cs.cmu.edu/~awb/linux.history.html https://www.cs.cmu.edu/~awb/linux.history.html