|
|
|
|
|
by thomashabets2
30 days ago
|
|
> C is pretty close to translating directly to machine code The C standard defines only its abstract machine, not actual hardware. > The language means different things on different platforms but it's still defined exactly on the target platform It's implemented to support a target platform, so that programs behave as if they ran on the abstract machine. It'd be nice if we could move more stuff from UB to implementation defined. Do keep in mind that target platform can change, in this regard. E.g. IIRC OpenBSD doesn't guarantee the ABI backward compatibility that Linux does, and can change things like size of int if they want, between versions. > I also understand why C is like it is Yup. It can be true that I understand why, and still understand that it's 2026. |
|