2012-07-26 91 views
1

发现一个错误,当我运行这段代码,这是我用JNIJNI程序运行

$ 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

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

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