您的位置:首页 > 编程语言 > Java开发

javah 命令生成JNI头文件

2011-11-23 22:39 423 查看
假设工程目录下有bin文件夹,bin存放编译好的class文件;

在bin目录下,
E:\eclipse\workspace\testjni\bin>javah -classpath . -jnicom.gnetis.tang.agent.ICMSAgent
然后在E:\eclipse\workspace\testjni\bin即可找到一个com.gnetis.tang.agent_jni_ICMSAgent.h头文件,生成成功!

java 文件

public class CMSException extends Exception
{

/**
*
*/
private static final long serialVersionUID = 1L;

public String codeID;

public String msg;

private String message;

public CMSException(){

}

public CMSException(String msg){

String[] strArr = msg.split("=", 2);
this.message = msg;
this.codeID = strArr[0];
this.msg = strArr[1];
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

public String getCodeID() {
return codeID;
}

public void setCodeID(String codeID) {
this.codeID = codeID;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}
}


package com.gnetis.tang.agent;


package com.gnetis.tang.agent.excep;
import com.gnetis.tang.agent.excep.CMSException;
/**
*
*  JNI 本地调用方式
*/
public class ICMSAgent
{
static
{
try{
System.out.println("load cmsagent start!!!!!!!");
System.loadLibrary("cmsagent");
System.out.println("load cmsagent end!!!!!!!");
}catch(Exception e){
e.printStackTrace();
System.out.println("load cmsagnet lib failure!!!!!!");
}
}

public ICMSAgent() {}

// 初始化
public native int agentInit();

// 销毁
public native int agentDestroy();

// 向服务器请求关闭某种业务
public native int stopService(int site, int confID, int serviceType) throws CMSException;
}

public void test()
{
int confID = 88776655;

int site = 1;

// agent初始化
agentInit();

int ret;
try
{
ret = stopService(site, confID,0x307);

if (ret != 0)
{
System.out.println("start conference without user");
}
}
catch (Exception e)
{
e.printStackTrace();
}

// agent销毁
agentDestroy();
}







                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: