Building 64-bit C++ app on AMD & Windows 64-bit using vs2005
I've looked around the Developer Forums (et al) and I think this is the appropriate place for this question/subject. If not please let me know another place.
I'm porting a c++ app from 32-bit to 64-bit that relies on some java code for doing db access. The c++ app uses jni and for various reasons I'm using micro$oft's vs2005. In their infinite wisdom, ms compiler folks decided that a long is 32-bit; a size_t is 64-bit; and long long is 64-bit (they also have __int64 as a 64-bit type too) (Note: Most compilers configure long's to be 64-bit).
In the jni, jsize is a jint which is a long (native); and a jlong is an __int64 (native).
This obviously won't work for large objects (e.g., an array > 2G elements). One recourse (besides going to gnu) is to change the typedef for jint. Does anyone have any other ideas (or am I missing something)?
tia.

