c语言嵌入java_C语言调用java

C语言调用java也是通过JNI实现的,Linux平台也就是引入libjvm.so动态链接库就可以。首先需要编写java类

public class Sample {

public static void test2() {

System.out.println("java打印的helloword");

}

}

这是非常简单的一个java类,里面就只有一个java方法。等下我们就要通过C来调用这个方法。jvm只认识class,首先得编译它,java Sample.java。在当前目录得到一个Sample.class的文件。这个文件等下会被我们的C程序加载。

然后编写C代码。

#include //引入jni的头文件,下面加载类和调用类的方法都是通过jni里面的函数实现的

#include

int main()

{

JavaVMOption options[1];

JNIEnv *env;

JavaVM *jvm;

JavaVMInitArgs vm_args;

long status;

jclass cls;

jmethodID mid;

jint square;

jboolean not;

options[0].optionString = "-Djava.class.path=."; //设置classpath

memset(&vm_args, 0, sizeof(vm_args));

vm_args.version = JNI_VERSION_1_2;

vm_args.nOptions = 1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值