下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年纳美芬行业分析报告及未来发展趋势报告
- 2026年儿童沙发行业分析报告及未来发展趋势报告
- 文旅融合夜游经济场景打造升级方案
- 催眠治疗总结2026
- 呼伦贝尔市辅警招聘考试题及答案
- 辽宁省营口市2024届高三3月第一次考试数学试题
- 2026 幼儿情绪管理惊喜情绪敏锐捕捉课件
- 2026一年级下新课标数的顺序大小比较
- 2026年入党积极分子培训考试卷(十三)及答案
- 2026年入党积极分子党校培训考试模拟卷(四)及答案
- 泰山教育联盟2026届高三年级4月考试模拟 政治试题(含答案)
- 2026年贪污贿赂司法解释(二)学习与解读课件
- 2026年上半年广东广州开发区黄埔区招聘事业单位18人备考题库含答案详解(典型题)
- 山西临汾市第一中学校2025-2026学年高一下学期第一次月考语文试题(含答案)(含解析)
- 春季呼吸道疾病护理课件
- 仓库人员安全责任制度
- 2026异位妊娠护理精要
- 2026年宠物医院员工保密协议
- 2026年小儿睾丸疼痛课件
- 水利监理单位安全生产责任制
- 园艺产品安全生产课件
评论
0/150
提交评论