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

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

用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的,只要不释放就能用。

目录
相关文章
|
存储 网络协议 Java
SpringBoot在自定义实现类中调用service层等Spring其他层报错为null的解决办法
SpringBoot在自定义实现类中调用service层等Spring其他层报错为null的解决办法
601 0
|
Python
解决办法:一切都正确,Python3执行PyImport_Import()一直返回NULL
解决办法:一切都正确,Python3执行PyImport_Import()一直返回NULL
175 0
JSONObject自动隐藏为null的属性的解决办法
JSONObject自动隐藏为null的属性的解决办法
243 0
解决办法一:GetProcAddress函数返回值总为NULL
解决办法一:GetProcAddress函数返回值总为NULL
228 0
错误解决办法:‘NULL’ was not declared in this scope
错误解决办法:‘NULL’ was not declared in this scope
263 0
env->FindClass()为NULL的一种解决办法
env->FindClass()为NULL的一种解决办法
161 0
|
Java Spring
EnhancerBySpringCGLIB 获取getParameterAnnotations为null的解决办法
EnhancerBySpringCGLIB 获取getParameterAnnotations为null的解决办法
|
Java Spring
websocket @Autowired注入为null问题的解决办法
websocket @Autowired注入为null问题的解决办法
|
Web App开发 Java 开发工具
安装J2EE的SDK报错:could not find the required version of the Java(TM)2 Runtime Environment in '(null)'的解决办法。
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
696 0
|
6月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之从MySQL同步数据到Doris时,历史数据时间字段显示为null,而增量数据部分的时间类型字段正常显示的原因是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
下一篇
无影云桌面