next up previous
Next: 6 Lego Mindstorms の上で走るJavaVM Up: 5 ネイティブ言語の呼び出し Previous: 5.3 Makefile

5.4 Cygwinでの実装

Cygwinの場合には,JAVA_HOME/include/win32/jni_md.h のファイルの中で,__int64を用いているところを 次のように修正する.
typedef long jint;
#ifdef __GNUC__
typedef long long jlong;
#else
typedef __int64 jlong;
#endif
typedef signed char jbyte;
また,System.loadLibrary()で指定するモジュール名は libを省略したファイル名ではなくモジュールファイル名そのもの とする. gccのオプションは,下のようにする必要がある.
% make
javac Hello.java
javah Hello
gcc -mno-cygwin -shared Hello.c \
    -I/java/jdk1.4/include \
    -I/java/jdk1.4/include/win32 \
    -Wl,--add-stdcall-alias \
    -o Hello.dll
java Hello
Hello!


generated through LaTeX2HTML. M.Inaba 平成18年5月7日