- dot squid is correct about Windows. In the LLP64 architecture
long is still 32-bit.
- But our code needs to be 64-bit friendly:
> * cocos2d-x runs on 64-bit Mac, 64-bit Linux and ARM64 OK.
> * But it compiles with many warnings regarding implicit conversions from 64-bit to 32-bit types.
> * And having compilation warnings is not good. We need to fix of all the compiler warnings.
99% of the warnings were not important, but I fixed some critical bugs regarding that.
So, the motivation to be 64-bit friendly is to remove all our compiler warnings, including the “Implicit conversion to 32-bit Type” warnings.
As an example, the
std containers, in LP64 mode (Mac, Linux, ARM64)
size_t which is a 64-bit type.
So, part of our API needs to use
size_t (where it makes sense) or
long in order to prevent compiler warnings. (Casting a
int is not a good idea).
So, the proposal is to update our API to be LP64 friendly: basically compile without warnings.
We do not need to replace ALL the
size_t) but part of our API needs to be updated.
LP64 can be found here: http://en.wikipedia.org/wiki/64-bit\_computing\#64-bit\_data\_models