a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 137|回复: 0

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

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
有了JAVA尺度平台的撑持,使JNI模式加倍易于实现和使用。在此总结了下面这个常识图:   实例:
% W$ H, v0 `2 q* U5 A) P- g  情形声名:ubuntu 10.4.2 LTS系统& d  W" l, p+ I" e+ h* D
  /**
$ x# P& W' X% a  _% h: Z  * @param args9 |" H/ y3 m( E' A
  *( x# F, j7 j8 }1 X3 N. ?
  */
/ O. y* p- T6 j  package com.magc.jni;9 O" Z+ h/ W/ a- I, v  b
  /**
2 z0 C$ ^* ^3 Y* ]8 r9 x! s  * @author magc, ?7 r/ F' G6 E: _
  *
  D6 `% K' M1 f+ |* ~; ~  */ public class HelloWorld {: t4 F! E3 k3 q: M+ k
  static {
3 P; e! z2 o9 I1 Z3 O. O  System.loadLibrary("Hello");% [) V* b: ^5 m/ a: s- [1 Y) r
  }
- ]* |1 T; f3 h' a9 A0 b  native void DisplayHello();7 K9 l; _) [9 U) U
  /**' q% L9 U& Z+ E) I5 x9 g/ h1 |% A+ }
  public
3 X7 {1 q3 `4 ^; C# J7 k/ y  轨范清单1:src/com/magc/jni/HelloWorld.java; A7 C2 G% c6 _/ ~
  */) P0 A0 J" X( L+ ^  d
  public static void main(String[] args) {0 P6 ^/ R& s# H; e$ H, X# X
  new HelloWorld().DisplayHello();$ s8 a# s& B5 Z! N" d. B3 D
  }! Z; Y( G1 m' b6 i7 h9 Z
  }# O; z4 G& |. A9 S
  进入src目录下,编译该JAVA类,. N2 q, @/ C2 A) _6 Z7 [2 S$ c
  呼吁:javac ./com/magc/jni/HelloWorld.java2 W  a6 }% l2 |" N! r7 K
  在该HelloWorld.java地址目录下生成HelloWorld.class
0 l3 H2 ^7 q  h8 R0 B# o/ f( [1 Y! W  然后使用javah生成头文件,( [4 y9 @, L* g1 i
  呼吁:javah -jni com.magc.jni.HelloWorld
, Q+ W3 c6 q, W& I  在当前目录下生成com_magc_jni_HelloWorld.h头文件,此文件供C、C++轨范来引用并实现其中的函数- A: s0 z, i  l0 k
  轨范清单2:com_magc_jni_HelloWorld.h
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 05:09 , Processed in 0.157626 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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