Re: typedef query

Bruno Haible <[email protected]>
Newsgroups gmane.lisp.clisp.devel
Message-ID <11082390.agQqzMgcKI@omega>
Compro Prasad wrote:
> According to what I have seen, 32 bit systems have sizeof(long) as 32
> bits and on 64 bit systems it is 64 bits.

On 64-bit native Windows, 'long' is 32 bits, not 64 bits. That is,
'long' can be smaller than a 'void *'.

> So, why trust "long".

The code trusts the type whose width it has determined. The point of
the 'uint32', 'uint64' types is to use *not* make assumptions about
the width of a specific type such as 'int' or 'long'. Computer architectures
evolve.

> Why not use "int" for 32 bits and "long long" for 64 bits? If there is a
> problem then what is it?

Until recently (2015), you could not use 'long long' portably. Now,
finally, MSVC has this type too.

Bruno


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.