this post was submitted on 17 Oct 2024
1378 points (98.9% liked)
RetroGaming
19551 readers
328 users here now
Vintage gaming community.
Rules:
- Be kind.
- No spam or soliciting for money.
- No racism or other bigotry allowed.
- Obviously nothing illegal.
If you see these please report them.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Yep but not if you write sloppy C code. Gotta keep those nuts and bolts tight!
If you're writing sloppy C code your assembly code probably won't work either
Except everyone writing C is writing sloppy C. It's like driving a car, there's always a non-zero chance of an accident.
Even worse, in C the compiler is just waiting for you to trip up so it can do something weird. Think the risk of UB is overblown? I found this article from Raymond Chen enlightening: https://devblogs.microsoft.com/oldnewthing/20140627-00/?p=633
I recently came across a rust book on how pointers aren't just ints, because of UB.
This may either: not print anything, print 3 or print 2.
Depending on the compiler, since b isn't changed at all, it might optimize the print for
print(2)
instead ofprint(b)
. Even though everyone can agree that it should either not print anything or 3, but never 2.