try {</p> n.dispose();4 w+ @: F0 X* {. n% e
} catch (NativeException e) {" f; W5 M/ e( N- V# m8 \9 k
// TODO Auto-generated catch block
2 f4 v8 n, c# ^ e.printStackTrace();* l3 D* R4 j& w, h0 X1 ~# m- f1 m
} catch (IllegalAccessException e) {
1 q9 |: O2 j) b' \: q // TODO Auto-generated catch block
9 G5 ~" M# z- _1 o e.printStackTrace();
, M0 r+ J9 z6 W* [2 L$ n4 ? } // 记得释放
9 |. w% A1 [ S! R }
6 x8 _* V' P7 ?, d! [7 F7 l return 0;! L4 |) O( ]; R7 d2 S; j8 h
}
: z5 A! Y7 @$ y# T) N public static void main(String[] args) throws NativeException, IllegalAccessException{
6 R) r' s1 j3 o6 G; U0 M& I$ F6 A5 q$ [ JNativeTest.messageBox(100,“这是使用jnative练习”, “jnativetest”, 1);
4 a( w8 h+ m7 l: n7 Z3 Z }3 e1 `1 T# W% X5 ]' S
}% c0 A0 B6 o. @2 ^7 t& i- \
关于linux下编译 C代码部分说明:8 v3 ~8 e6 `2 R5 M& y" L2 u
对于linux不同版本,可能会导致libJNativeCpp.so不同) h3 h& W, g9 o; I3 J+ Y
原带的libJNativeCpp.so 是在glic2.4下编译的
; x4 k7 \) f e2 M- H. _& A. J 为了适应glic2.3的情况,重新编译了libJNativeCpp.so,在for gcc3.4.6 glibc 2.3下。
* J) w x$ e1 \; E% J; b6 B$ R 编译办法:2 P9 S; u9 ~3 s9 O2 ^. B
在JNative-1.3.2-src\JNativeCpp\Release目录下; w* n; d2 p0 Q: k; q) V
1、备份calls.o和 asm_io.o这两个Object文件
! a2 _! c2 y2 m' B- B4 x& K 2、make clean/ O1 E9 g& r" ?# A& `( w; w4 z
3、恢复到当前目录calls.o和 asm_io.o这两个Object文件) {. P# b4 D; ?# N ^+ U
4、make
5 W2 V$ k( T* e. p- P 目前已经修改了Release目录下的makefile和subdir.mk文件,使得在make clean的时候不删除calls.o和 asm_io.o两个文件
0 L* u5 f* h$ v! H6 h 附:linux 动态库搜索路径:) {/ Q- e9 d+ U8 X, e7 |
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH1 _9 w7 V* _5 D) J2 O, Y' b1 e
makefile 文件3 W0 t) V9 a6 l3 t4 N- i
################################################################################ m. h5 X H! {& w5 L" I
# Automatically-generated file. Do not edit!
3 L7 G1 C) _0 {# l4 E ################################################################################4 `; K9 B7 c. E) G$ x
-include 。./makefile.init. x0 y) s Y4 |0 y( U% l! d0 `
RM := rm -rf |