用Delphi开发JNI(Java Native Interface)应用(一)

这篇博客介绍了如何利用Delphi开发JNI本地代码,详细阐述了从分析javah生成的C程序框架到使用jni.pas文件在Delphi中实现JNI。通过一个HelloWorld示例,展示了在Delphi中实现Java本地方法,包括参数传递和访问对象字段的过程。
摘要由CSDN通过智能技术生成

JNI(Java Native InterfaceJava本地接口)技术大家都不陌生,它可以帮助解决Java访问底层硬件的局限和执行效率的提高。关于JNI的开发,大多数资料讨论的都是如何用C/C++语言开发JNI,甚至于JDK也提供了一个javah工具来自动生成C语言程序框架。但是,对于广大的Delphi程序员来说,难道就不能用自己喜爱的DelphiJava互通消息了吗?

通过对javah生成的C程序框架和JDK中的jni.h文件的分析,我们发现,Java利用JNI访问本地代码的关键在于jni.h中定义的JNINativeInterface_这个结构(Struct),如果用Delhpi语言改写它的定义,应该也可以开发JNI的本地代码。幸运的是,在网上有现成的代码可以帮助你完成这个繁杂的工作,在http://delphi-jedi.org上提供了一个jni.pas文件,就是用Delphi语言重写的jni.h。我们只需在自己的Delphi工程中加入jni.pas就可以方便地开发出基于Delphi语言的JNI本地代码。

本文将利用jni.pas,讨论用Delphi语言开发JNI本地代码的基本方法。

先来看一个经典的HelloWorld例子。编写以下Java代码:

class HelloWorld

{

  public native void displayHelloWorld();

  static

  {

    System.loadLibrary("HelloWorldImpl");

  }

}

这段代码声明了一个本地方法displayHelloWorld

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值