有人在Linux下用过JNI的吗,在C++里调用JAVA类(高分求教.)

slmax1 2017-03-16 10:22:25

JavaVMOption options[1];
jclass cls;
jmethodID mid;
jint square;
JavaVMInitArgs vm_args;
jobject jobj;

JNIEnv * env;
JavaVM * jvm;
options[0].optionString = (char *)"-Djava.class.path=.";
vm_args.version = JNI_VERSION_1_8;
vm_args.nOptions = 1;
vm_args.options = options;
vm_args.ignoreUnrecognized = JNI_TRUE;
long status = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);


小弟我每次执行到红色地方,就出现断错误.到底是怎么回事.
系统:centos6.5 64位
JDK:
[root@centOS64 /]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

编译命令:g++ 1.cpp -g -o debug -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux -L${JRE_HOME}/lib/amd64/server -ljvm
...全文
379 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
slmax1 2018-01-29
  • 打赏
  • 举报
回复
引用 6 楼 lrznumber 的回复:
我也遇到了相同的问题,楼主怎么解决的啊?求分享
JDK版本.
lrznumber 2017-11-01
  • 打赏
  • 举报
回复
我也遇到了相同的问题,楼主怎么解决的啊?求分享
slmax1 2017-03-17
  • 打赏
  • 举报
回复
今天又发现个奇怪的现象....直接执行没错....但用GDB单步走就报错...什么情况....
codingMozart 2017-03-17
  • 打赏
  • 举报
回复
Dobzhansky 2017-03-17
  • 打赏
  • 举报
回复
恭喜
slmax1 2017-03-17
  • 打赏
  • 举报
回复
解决了....进来接分....
slmax1 2017-03-16
  • 打赏
  • 举报
回复
(gdb) bt #0 0x00007fffe778b2b4 in ?? () #1 0x0000000000000246 in ?? () #2 0x00007fffe778b160 in ?? () #3 0x00007ffff7fa5990 in VM_Operation::_names () from /usr/java/jdk1.8.0_121/jre/lib/amd64/server/libjvm.so #4 0x00007fffffffde20 in ?? () #5 0x00007ffff7ad568d in VM_Version::get_processor_features() () from /usr/java/jdk1.8.0_121/jre/lib/amd64/server/libjvm.so Backtrace stopped: previous frame inner to this frame (corrupt stack?)

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧