Re:C Portability Lessons from Weird Machines
by MaxBarraclough on Friday November 16, 2018 @03:03PM
(#18471548)
> I have 15 years of programming on 8but micros where that assumption/declaration is crazy. :)
Right, but that's the point here - we're discussing how to describe a stricter variant of C, which make exactly the kinds of guarantees that preclude exotic architecture targets. Ultra-portability isn't a goal for many codebases.
Re:C Portability Lessons from Weird Machines
by SlowRobotAhead on Friday November 16, 2018 @03:10PM
(#18471607)
Then... make uint32_t the standard and this is never a problem ever again?
Re:C Portability Lessons from Weird Machines
by int_19h on Saturday November 17, 2018 @02:12AM
(#18474412)
uint32_t is in the standard since C99. But it is conditionally present - it's only there if the platform can provide it. In practice, all platforms that most software cares about do so. But it's not actually codified everywhere, and that codification is what I was talking about.
Re:C Portability Lessons from Weird Machines
by MaxBarraclough on Friday November 16, 2018 @05:24PM
(#18472446)
uint32_t is already available on the platforms where it makes sense to support the type. It is a strength of the C language that it also supports exotic platforms.
By 'standard' do you just mean more widespread use? Some APIs already do something like this, such as Windows with its 'DWORD'.
I have 15 years of programming on 8but micros where that assumption/declaration is crazy. :)
Never use int. Always uint32_t. There! Problem of portability solved.