Not to long ago, someone told me that long
are not 64 bits on 64 bit machines and I should always use int
. This did not make sense to me. I have seen docs (such as the one on Apple's official site) say that long
are indeed 64 bits when compiling for a 64-bit CPU. I looked up what it was on 64-bit Windows and found
- Windows:
long
andint
remain 32-bit in length, and special new data types
are defined for 64-bit integers.
(from http://www.intel.com/cd/ids/developer/asmo-na/eng/197664.htm?page=2)
What should I use? Should I define something like uw
, sw
((un)signed width) as a long
if not on Windows, and otherwise do a check on the target CPU bitsize?
No comments:
Post a Comment