通过JNI在JAVA与C程序中传递参数
一、编辑Java源文件
=============================================
Hello.java
=============================================
package test;
public class Hello
{
static
{
try
{
//此处即为本地方法所在链接库名
System.loadLibrary("libhello");
}
catch(UnsatisfiedLinkError e)
{
System.err.println( "Cannot load hello library:\n " + e.toString() );
}
}
public Hello()
{
}
//声明的本地方法
public native void SayHello(String strName);
}
=======================================================
ToSay.java
package test;
public class ToSay {
public static void main(String args[]){
Hello hw = new Hello();
hw.SayHello("Christmas
");
}
}
=======================================================
二、根据Java源文件生成.h头文件
=======================================================
javac生成Hello.class
javac Hello.java
javah test.Hello生成test_Hello.h->Hello.h
javah test.Hello
=======================================================
三、编辑C/C++文件
=======================================================
Hello.c
#include "Hello.h"
#include <stdio.h>
//与Hello.h中函数声明相同
JNIEXPORT void JNICALL Java_test_Hello_SayHello
(JNIEnv * env, jobject arg, jstring instring)
{
//从instring字符串取得指向字符串UTF编码的指针
const jbyte *str = (const jbyte *)env->GetStringUTFChars( instring, JNI_FALSE );
printf("Hello,%s\n",str);
//通知虚拟机本地代码不再需要通过str访问Java字符串。
env->ReleaseStringUTFChars( instring, (const char
相关文档:
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
面向对象的三大特征:封装、继承、多态。
java中的封装
封装,一个对象和外界的联系应当通过一个统一的接口,应当公开的公开,应当隐藏的隐藏。(对象的属性应当隐藏),一个对象的内部是透明的,就是把对象内部的可透明性和隐藏的特性区分开,该透明的透明,该隐藏的隐藏。
(封装的属性)java中类的属性的访问权限的默 ......
1 JAVA的反射,其实就是通过一个实例化的对象反过来去找到一个类的完整信息,比如对于如下的形式:
X x=new X();
x.getClass().getName();
这里就会输出这个类所在的完整信息,即"包名.类名";
最常用的三种实例化CLASS类对象
Class<?> c1 = null ; // 指定泛型
C ......
http://social.msdn.microsoft.com/Forums/en/sqltools/thread/07db294a-79e5-4a5a-916c-6a51e44a5aa4
http://www.pcreview.co.uk/forums/thread-211705.php
Download "MsiZap.exe" from http://support.microsoft.com/default.aspx?scid=kb;en-us;290301 ......