软件首页 |  文章首页
最新更新 软件分类 设为首页 加入收藏 联系我们
当前位置:首页文章首页 IT学院 Java

通过JNI实现Java和C++的相互调用

作者:东坡下载  来源:  发布时间:2010-10-14 11:43:29  点击:

  {

  printf("testInput"n");

  int result=env->CallStaticIntMethod(cls, mid,22);

  printf("call over result=%d"n",result);

  }

  mid = env->GetMethodID(cls,"","()V");

  if (mid != 0)//获取方法成功

  {

  printf("ctro!=0"n");

  jobject obj=env->NewObject(cls, mid);

  printf("new object"n");

  mid = env->GetMethodID(cls, "testInstance","(I)I");

  if (mid!=0)//获取方法成功

  {

  printf("methodID!=0"n");

  jint result=env->CallIntMethod( obj, mid,22);

  cout<

  }

  }

  }

  jvm->DestroyJavaVM();

  system("Pause");

  return 0;

  }

  6.将jvm.dll目录添加到PATH环境变量中,将org/druze/test/TestNative2复制到debug目录下执行。

  7.头文件和库文件的配置VC6和VC2008类似,菜单名称有所改变。

  VC6中,配置头文件和库文件的目录在,工具(Tools)->选项(Options)->目录(Directories)里面的头文件"Include files"和库文件"Library files".添加相应的目录

  工程(Project)->设置(Setting)->链接(Link)->object/module library后面添加jvm.lib

  CodeBlocks在Project->Build options->Linker setting and Search directories中配置相应路径。

  8.按如下结构组织可不用配置jvm.dll到环境变量中

  创建存放目录Run(下面的文件目录在JDK安装目录中都能找倒):

  Run(手工建立目录)

  ----bin(手工建立目录)

  ----classic(手工建立目录)

  ----jvm.dll(文件,JDK安装目录中有)

  ----自己的JAR包,如果是class文件把包目录和文件一起拷贝过来

  如果是jar文件,需要在options[1].optionString = "-Djava.class.path=.;./swt.jar";中设置

  ----JniC.exe,C调用JAVA的程序

  ----hpi.dll(文件,JDK安装目录中有)

  ----ioser12.dll(文件,JDK安装目录中有)

  ----java.dll(文件,JDK安装目录中有)

  ----net.dll(文件,JDK安装目录中有)

  ----verify.dll(文件,JDK安装目录中有)

  ----zip.dll(文件,JDK安装目录中有)

  ----lib(手工建立目录)

  ----zi(目录,JDK安装目录中有,全部拷贝过来)

  ----rt.jar(文件,JDK安装目录中有)

  ----tzmappings(文件,JDK安装目录中有)

Tags:

JNIC++Java

文章评论

本类推荐文章

关于本站 | 网站帮助 | 广告合作 | 下载声明 | 友情连接 | 网站地图
Copyright © 20098-2010 uzzf下载站. All Rights Reserved .