a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 114|回复: 0

[专业语言] JAVA认证:浅谈JNI原理

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
有了JAVA尺度平台的撑持,使JNI模式加倍易于实现和使用。在此总结了下面这个常识图:   实例:
5 r) m8 q7 s0 H) v8 V  情形声名:ubuntu 10.4.2 LTS系统
; A8 j% x! H8 p8 U3 t& x) ]. I  /**  S2 p5 `0 I- G7 B
  * @param args
% V% u7 r! E3 C9 u2 l" l' ?* x& `  *8 E! N! Q; D/ ~+ ?
  */- z; x' x4 s, C/ N( n6 \& J$ W$ J
  package com.magc.jni;$ A) @  E% ~# L( H" A: E
  /**5 R" B4 Y& {4 r7 r4 A- R# p1 j" @
  * @author magc; Z0 \$ @. n% l0 ~4 K6 h
  *
4 |; j/ ]- [/ J) _) W% `  */ public class HelloWorld {
9 g8 @$ k% x" L$ x5 S  static {+ i7 T8 ]5 {6 c- G  u) h
  System.loadLibrary("Hello");' U' ]5 t3 B7 ?6 |1 g
  }
9 G8 J% C3 t$ S+ A. o  native void DisplayHello();
# t: c- I  ]+ l* O6 v9 {  /**
* a6 A& o2 g% F! }0 Y  public. P# j! O2 m# B* r: `
  轨范清单1:src/com/magc/jni/HelloWorld.java* h  n8 W9 w6 z. T( a$ T3 q
  */
; X' ?# D" A! J$ ^! H  public static void main(String[] args) {9 v1 Z% Z' U5 k' O3 d/ ~7 s/ d3 s
  new HelloWorld().DisplayHello();" R( w! ~7 m+ i7 \2 i" j; y& N
  }* y0 V9 L1 g' w0 b0 m  c; d0 B, t
  }
- v# v/ r  B! s' I( R0 t- v  进入src目录下,编译该JAVA类,  B6 Q, `  c8 ]0 x
  呼吁:javac ./com/magc/jni/HelloWorld.java5 y- C: A) J% y' w3 A  y6 M4 e
  在该HelloWorld.java地址目录下生成HelloWorld.class/ y* O2 N& D6 W7 T# U/ c$ }
  然后使用javah生成头文件,
7 l7 N- B* W* p4 h# {8 ]3 s  呼吁:javah -jni com.magc.jni.HelloWorld
+ N; a8 T) @9 ^' l$ v: p7 L* ?  在当前目录下生成com_magc_jni_HelloWorld.h头文件,此文件供C、C++轨范来引用并实现其中的函数  }) m* g7 b* U% b1 i
  轨范清单2:com_magc_jni_HelloWorld.h
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-7 21:41 , Processed in 0.165827 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表