中国在职研究生网 >> 论文中心 >>

好的一种Java程序调用C/C++语言函数的方法

2010-11-16 17:39       作者:谢勇    http://www.zzyjs.com

[摘要]本文介绍如何利用Java提供的C语言接口在Java中调用C函数,解决了在实际调用过程中可能碰到的技术问题,并通过实例给出了具体编程方法。
  [关键词]Java JNT C DLL
  
  在现今的软件开发领域中,Java以其跨平台的优势得到大量的应用,其代码可以一次编译多处执行。但这种特性给Java带来了一定的局限性,幸好Java提供了完备的C/C++语言接口,这样我们可以利用C语言的强大功能实现Java难以实现的功能,在一定程序上消除Java的局限性和低效率。
  一、创建DLL文件
  使用某一种C/C++开发工具创建Dll文件,实现某一功能,供JAVA调用,例如本文在此使用Visual studio 2005创建一个名为testdll的动态库文件。
  二、使用JNI
  JNI是Java Native Interface的缩写,中文为JAVA本地调用。它允许Java代码和其他语言写的代码进行交互。
  1.JAVA类
  在JAVA程序中,首先需要在类中声明所调用的库名称,如下:
   static {
  System.loadLibrary(“testdll”); //加载动态库,testdll为DLL文件名称
  }
   还需要对将要调用的方法做本地声明,关键字为native。并且只需要声明,而不需要具体实现。如下:
   public native static void set(int i);
  public native static int get();
  然后编译该JAVA程序文件,生成CLASS,再用JAVAH命令,JNI就会生成C/C++的头文件。
  例如程序testdll.java,内容为:
  public class testdll { static { System.loadLibrary(“testdll”); } public native static int get(); public native static void set(int i); public static void main(String[] args) { testdll test = new testdll(); test.set(10); System.out.println(test.get()); } }
  用javac testdll.java编译它,会生成testdll.class。
  再用javah testdll,则会在当前目录下生成testdll.h文件,这个文件需要被C/C++程序调用来生成所需的库文件。

查看更多相关论文计算机应用学论文  计算机论文  
上一页 1 2 下一页 

在职读研实用信息
版权声明
    凡本站稿件类型为“原创”的所有文字、图片和音视频等稿件,均为启文教育网版权所有,未经本站协议授权,任何媒体、网站及个人均不得转载或以其它方式发表,违者必究。如需转载,请注明出处。
相关资讯文章
热点推荐简章

交流吧热帖 

推荐阅读

网友阅读

在职研究生热门专业

  • 专业名称详情

网站简介 | 免责声明 | 广告与合作 | 联系我们 | 招聘信息

常年法律顾问  华泰律师事务  毛亚斌律师

京ICP备05038589号