From: Bob F. <bfr...@si...> - 2006-04-29 15:15:44
|
On Sat, 29 Apr 2006, Matthias B. wrote: > On Sat, 29 Apr 2006 01:30:44 -0400 Tom Lane <tg...@ss...> wrote: > >> AFAICT, the actual facts on the ground are that "long" is always the >> same width as pointers. > > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/abstract_data_models.asp It is good to see that Microsoft is adhering to published standards and long-time industry practices. From reading the text, I now know that some pointers are more precise at pointing than others. A 64-bit pointer is more precise than a 32 bit pointer. Presumably it is able to resolve to tiny fractions of a bit. Microsoft's LLP64 model is really annoying. It is probably the most annoying addressing model since 64K segmented addressing. Applications which are expected to naturally "grow" in capacity in a 64-bit address space (e.g. GraphicsMagick) are likely to misbehave instead when the limits of the 32-bit 'long' used for sizing computations are hit long before the limits of SIZE_T are hit. Every use of the 'long' type needs to be carefully re-considered. It is clear that LLP64 solves a short term problem specific to Windows-centric programs but causes problems for portable software. Bob ====================================== Bob Friesenhahn bfr...@si..., http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ |