When passing numbers between C and Java, you should understand which types correspond to each other. For example, although C does have data types called
long, their implementation is platform-dependent. On some platforms, an
int is a 16-bit quantity, on others it is a 32-bit quantity. In the Java platform, of course, an
int is always a 32-bit integer. For that reason, JNI defines types
jlong, and so on.
Table 12.1 shows the correspondence between Java types and C types.
In the header file
jni.h, these types are declared with
typedef statements as the ...