>Win64: Int (8 bytes) is bigger than long (4 bytes)
Doh! My mistake, I'm wrong on the last one; that will teach me to double check first. Long is >= Int. I've looked around a bit more, and it appears int is 4 bytes and long 8 bytes in the 64 bit enviroment. It also appears though that some compilers are supporting other compilation models that may not quite follow this rule in order to facilitate the porting of 32 bit programs.
It should always be assumed however that sizeof(long)!=sizeof(int) and sizeof(void *) != sizeof(int).
At
http://www.sco.com/developer/64bit.htm there are more details. MS probably has a similiar document.
Kevin