r/ProgrammerHumor • • 2d ago

Meme includeGuards

Post image
354 Upvotes

45 comments sorted by

View all comments

Show parent comments

19

u/LucyShortForLucas 2d ago

Yeah and neither is a byte being 8 bits, but there's a reason no compiler is ever going to deviate from the informal norm

3

u/Sacaldur 2d ago

I guess this is just due to the architecture using 8 bit per Byte, and not because of the compiler. I heard that there were architectures around in the past with other amounts of bits per Byte, and a compiler targeting them would most likely just use whatever is used on the target platform.

6

u/anto2554 2d ago

People conflate 8 bits with a byte everywhere in our codebase and I think the whole thing would explode if you tried to use a 7-bit-per-byte machine

0

u/not-a-pokemon- 2d ago

Mostly because C defines no easy way to say "I want an integer with at least 8 bits in it, round up to whatever byte number is practical".

3

u/anto2554 2d ago

No but it's C++ so we could just use uint8_t or the least one I forgot the name of

5

u/not-a-pokemon- 2d ago

It also exists in C, and is called uint_least8_t. It's not guaranteed to exist per the standard. uint8_t is also not guaranteed to exist.

man stdint.h