News for hackers. Stuff that matters.
Re:C Portability Lessons from Weird Machines by SlowRobotAhead on Friday November 16, 2018 @11:28AM (#18469725)
>Need to know that int is 32 bit? Not a problem.

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.

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'.