On Oct 11, 2010, at 1:43 PM, Stefan Salewski wrote:

> 
> -- may long default to 64 bit on 64 bit systems

Ahhhh....  well, that depends on the programming model that the system 
developers chose.  64 bit systems have been done two ways: LP64 or ILP64, that 
is "longs and pointers are 64, ints are 32" or "ints, longs, and pointers are 
64".

On a 64 bit systems, pointers are going to be 64 bits -- after all, that is why 
you are going to 64 bits.  The C spec says "longs shall be big enough to hold a 
pointer" so that you can cast pointers and longs, and can union pointers and 
longs.  

The debate of what to do about ints can go on for years (... trust me.... I've 
been there....) If you make ints default to 64 bits, all of a sudden recompiled 
programs get much larger, and the cache pressure is much higher, all for no 
good reason.  If you make ints default to 32 bits, beelyuns of badly coded 
programs that expect to cast pointers to ints or do other sloppy things that 
work in an ILP32 world break right and left.

So... w.r.t. the debate about pcb.... going to 64 bits instead of 32 bits is 
going to make the memory footprint much bigger (not a big deal) and the cache 
footprint much bigger (could be a big deal).

TL;DR: It varies.  Check for your system and compilers.

-dave

> -- may it be better to use long long on 32 bit machines to enforce there
> 64 bit (emulation) when 64 bit is desired?
> 
> Sorry, I should better be quiet.
> 
> http://en.wikipedia.org/wiki/Long_integer  
> 
> 
> 
> _______________________________________________
> geda-user mailing list
> [email protected]
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
> 



_______________________________________________
geda-user mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

Reply via email to