我连JNI是什么都不清楚,
谁给我讲讲?
谁给我讲讲?
解决方案 »
- /*!Begin Snippet:file*/。。。刚接触java,这句在类前面,是啥什么意思呢?谢谢您了
- HPPC:High Performance Primitive Collections for Java
- Velocity 乱码问题 ,提示找不到VelocityEngineFactory
- 能帮忙分析一下wait()/notify()与suspend()/resume()的不同吗?谢谢
- 我太笨了,找个聪明的大侠帮我看一下?
- TreeSet中如何按照插入先后顺续排序?
- 我如何一次将整个项目编译?
- 怎样能得到java载入的图形在内存中的首地址?
- 关于Astra LoadTest 5.4解密码!!
- JCreator 与Wireless 如何配置。在线等待中!
- 这本书值不值?
- 各位大虾请进,送分哦!!!!!!!!!!!
public class HelloWorld{
public native void displayHelloWorld();
static {
System.loadLibrary("hello");
}
}public class test{
public static void main(String[] args){
HelloWorld.displayHelloWorld();
}
}
我是把dll文件放在了当前目录下的。
用了你的方法,这样的错误:
exception in thread "main" java.lang.nosuchmethoderror:main
不太懂dll怎么贴出来
怎么没有回复了,
还要你们的帮忙啊
dll测试过了吗?如果你用vc开发dll,在vc中可以设置用java程序debug dll的,试试就知道了.
可是结果还是一样的,总是原来的那些错误。
另外在Http://jdeveloper.yeah.net上有一篇“在Windows 中实现 Java 本地方法”的文章,你可以去看一看。我试过一次,成功了。你也试一试。
这个错误是因为它在dll里面找不到这个对应的实现方法,或你没有生成dll
classpath 是不是就是开始安装jdk的时候
在autoexec里面设置的command路径?
写好了类和本地方法之后
要大包才可以实现吗?
怎么样大包?
有的只是一个HelloWorld.h文件
它是通过javah -jni HelloWorld生成的。原码如下:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */
#include "Stdafx.h"
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloWorld
* Method: displayHelloWorld
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld
(JNIEnv *, jobject);#ifdef __cplusplus
}
#endif
#endif
我想可能是dll文件的原因,在用vc生成dll文件时
我把precompiled headers 设置成了not use,要不根本就通不过编译。
dll文件怎样去测试?
那篇文章
在什么地方,我没有找到
位置可以具体一点吗?
那个例子实在是太好了!
真的是大受启发啊!
分数是你的了。
谢谢你!也谢谢大家,我想还是我的.dll文件做的不对。