JNI是一种让JAVA程式可以外接外部程式的一种机制_第1页
JNI是一种让JAVA程式可以外接外部程式的一种机制_第2页
JNI是一种让JAVA程式可以外接外部程式的一种机制_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java Native Interface1.JNI 原理JNI 是一種讓 JAVA 程式可以外接外部程式的一種機制,讓 JAVA 程式更具有擴充性 。由上圖可得知,使用 JNI 之後, Java 虛擬機器會開放一扇門戶,和 Java 程式可以突破Java 虛擬機器的限制,直接呼叫底層作業系統的原生函式庫。(1) 編寫具有 JNI功能的 java檔案使用 native:寫在非 java所撰寫的函式前使用靜態初始化區塊:在整個 java程式中只有在被類別載入器 (例dll) 載入時才會被呼叫。(2) 在command line下,輸入 javac xxx.java,產生 class檔案(3) 輸

2、入 javah -classpath . -jni ClassName,產生對應於 C/C+的head檔(4) 對應 head檔撰寫 C/C+的主程式碼(5) 在任何 C/C+ compiler下編譯產生 dll 檔,此dll是特別為 Java而產生的檔案,若要包含其他 dll,可以於 C/C+的主程式中 (4)直接呼叫2. JNI 範例實作(1) Java檔 HelloWorld.java(2) 開啟 command line,於該目錄下執行 javac HelloWorld.java會產生 HelloWorld.class(3) 執行 javah -classpath . -jni HelloWorld 會產生 HelloWorld.h(如下 )(4) 對應 head 檔 (.h)撰寫 C/C+的主程式碼下列範例是使用 BCB6.0編譯的程式,新增一個 project 道不同的資料夾下,撰寫 hello.cpp 檔案,執行產生 hello.dll(5) 在 command line 下繼續執行 hello 代表 C+程式所放的資料目錄, H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论