您当前的位置: 首页 > 

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

env->FindClass()为NULL的一种解决办法

柳鲲鹏 发布时间:2019-05-18 08:25:56 ,浏览量:0

  用C加载虚拟机,FindClass()一直为NULL。这找不到还怎么玩啊。于是上网搜索,试了各种办法并没成功。

  FindClass()的类名字串,分隔符应该是/,这个不多说。

  后来看到别人的代码写法跟自己不一样,于是改了一下,正确了。原因也明白了。

  • 错误 
char buffer[128] = {0};
sprintf(buffer, "-Djava.class.path=%s", jar);
options[0].optionString = buffer;

....

  这个buffer是临时变量,传递过去之后,函数调用结束就释放了,使用时就出错了。吾以为会自行复制,实际上没有。

  • 正确 
options[0].optionString = strdup(buffer);

  通过strdup()复制一份,因为是malloc的,只要不释放就能用。

 

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.0531s