Next: 6 Lego Mindstorms の上で走るJavaVM
Up: 5 ネイティブ言語の呼び出し
Previous: 5.3 Makefile
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日