JNI程序正在运行

时间:2012-07-26 09:09:50

标签: java-native-interface runtime-error

运行此代码时发现错误,这是我的第一个使用JNI的程序

$ javac HelloWorld.java 
$  javah -jni HelloWorld
$ LD_LIBRARY_PATH=.
$    export LD_LIBRARY_PATH
$ gcc -I/usr/lib/jvm/java-6-openjdk /include  -o libHelloWorld.so -shared HelloWorld.c -fPIC
$ java -Djava.library.path=. HelloWorld
*** glibc detected *** java: munmap_chunk(): invalid pointer: 0x00007f89713b5736 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x776b6)[0x7f89782ca6b6]
/home/ushusadmin/libHelloWorld.so(Java_HelloWorld_nativeHelloWorld+0x82)  [0x7f89713b56de]
[0x7f8972e1dd68]
======= Memory map: ========
00400000-00409000 r-xp 00000000 08:11 1984203                            /usr/lib 
.
.
.
.
.
7f8976c97000-7f8976e96000 ---p 00007000 08:11 9175206                    /lib/x86_64- linux-gnu/librt-2.13.soAborted

发生此错误请给我一个解决此错误的建议, 谢谢,

1 个答案:

答案 0 :(得分:1)

在编译代码之前包括JNI库的路径。

export PATH="/Library path/":$PATH