4 Jun
2007
4 Jun
'07
3:49 p.m.
Shams wrote:
1. With most (all?) 64-bit Linux/Unix following the LP64 model: http://www.unix.org/version2/whatsnew/lp64_wp.html
2. However with M$ 64bit Windows following the ILP64 there is no other choice but int_t<64>::least gives "long" or "long long".
Are you sure you meant to type "ILP64"? If I understand the above document correctly, Microsoft chose the LLP64 model. Under Windows 64, int and long are both 32 bits, while long long and pointer are 64 bits. int_t<64>::least would need to give "long long" or "__int64" under 64-bit Windows. Microsoft seems to prefer __int64 in their documentation and system headers.