栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

C ++可以调用Java代码吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C ++可以调用Java代码吗?

是的,您当然可以。这是一个例子:

这是java文件:

public class InvocationHelloWorld {    public static void main(String[] args) {        System.out.println("Hello, World!");        System.out.println("Arguments sent to this program:");        if (args.length == 0) { System.out.println("(None)");        } else { for (int i=0; i<args.length; i++) {     System.out.print(args[i] + " "); } System.out.println();        }    }}

还有一些使用它的C ++:

void invoke_class(JNIEnv* env) {  jclass helloWorldClass;  jmethodID mainMethod;  jobjectArray applicationArgs;  jstring applicationArg0;  helloWorldClass = (env)->FindClass("InvocationHelloWorld");  if(! helloWorldClass )  {    std::cerr<<"Couldn't get "InvocationHelloWorld""<<std::endl;    return;  }  mainMethod = (env)->GetStaticMethodID(helloWorldClass, "main", "([Ljava/lang/String;)V");  if(! mainMethod )  {    std::cerr<<"Coulnd't get "InvocationHelloWorld::main""<<std::endl;    return;  }  applicationArgs = (env)->NewObjectArray(1, (env)->FindClass("java/lang/String"), NULL);  applicationArg0 = (env)->NewStringUTF("From-C-program");  (env)->SetObjectArrayElement(applicationArgs, 0, applicationArg0);  (env)->CallStaticVoidMethod(helloWorldClass, mainMethod, applicationArgs);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515086.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号