关于jni的,大家都过来看看把,帮帮忙!

jianfei2002 2004-04-27 11:24:18
已经定义好MemoryStatus.java
public class MemoryStatus {
long length;
long memory;
long totalPhys;
long availPhys;
long totalPageFile;
long availPageFile;
long totalVirtual;
long availVirtual;
public native void getMemory();
static{
System.loadLibrary("memory");
}
public static void main(String arg[]){
MemoryStatus test=new MemoryStatus();
test.getMemory();
System.out.print(""+test.totalPageFile);

}
}
已经编译好MemoryStatus.h,也编译好了memory.dll。可放在同一目录下后
java -classpath . MemoryStatus后还是报错!
大家看看把!能不能看看怎么过去呀!
cpp原程序如下
#include "MemoryStatus.h"
#include <string.h>
#include <stdlib.h>
#include <windows.h>

#define DIV 1024

JNIEXPORT void JNICALL Java_MemoryStatus_getMemory(JNIEnv* env,jobject this_obj){
jclass this_class;

jfieldID id_memory;
jfieldID id_totalPhys;
jfieldID id_availPhys;
jfieldID id_totalPageFile;
jfieldID id_availPageFile;
jfieldID id_totalVirtual;
jfieldID id_availVirtual;
MEMORYSTATUS caculate;

GlobalMemoryStatus(&caculate);
this_class=(*env).GetObjectClass(this_obj);
id_memory=(*env).GetFieldID(this_class,"memory","J");
id_totalPhys=(*env).GetFieldID(this_class,"totalPhys","J");
id_availPhys=(*env).GetFieldID(this_class,"availPhys","J");
id_totalPageFile=(*env).GetFieldID(this_class,"totalPageFile","J");
id_availPageFile=(*env).GetFieldID(this_class,"availPageFile","J");
id_totalVirtual=(*env).GetFieldID(this_class,"totalVirtual","J");
id_availVirtual=(*env).GetFieldID(this_class,"availVirtual","J");
(*env).SetLongField(this_class,id_memory,caculate.dwMemoryLoad);
(*env).SetLongField(this_class,id_totalPhys,caculate.dwTotalPhys);
(*env).SetLongField(this_class,id_availPhys,caculate.dwAvailPhys);
(*env).SetLongField(this_class,id_totalPageFile,caculate.dwTotalPageFile);
(*env).SetLongField(this_class,id_availPageFile,caculate.dwAvailPageFile);
(*env).SetLongField(this_class,id_totalVirtual,caculate.dwTotalVirtual);
(*env).SetLongField(this_class,id_availVirtual,caculate.dwAvailVirtual);
}
...全文
96 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuguanyoumc 2004-08-27
  • 打赏
  • 举报
回复
怎么这么久都没见到十什么错误,
或者把答案贴出来大家共享一下
ivy8890 2004-08-13
  • 打赏
  • 举报
回复
错误贴出来呀
sxyan 2004-08-13
  • 打赏
  • 举报
回复
楼上比较搞
fuguanyoumc 2004-08-13
  • 打赏
  • 举报
回复
出来什么错误?呵呵,我刚刚接触到jin来接分

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧