在eclipse下用一个test.java调用一个c/c++写的test.DLL文件。 如果test.java不使用包,把test.DLL放在当前

在eclipse下用一个test.java调用一个c/c++写的test.DLL文件。
如果test.java不使用包,把test.DLL放在当前目录或者windowssystem32目录,都可以使用;
但如果test.java中加入一句:package test;
问题就出现了,按照网上的介绍把test.DLL放在任何地方都不行,设置path也不行。

加一个包名,package pktcapture;
Exception in thread "main" java.lang.UnsatisfiedLinkError: getNetworkCard
at pktcapture.CapturePacket.getNetworkCard(Native Method)
at pktcapture.CapturePacket.main(CapturePacket.java:43)

第1个回答  2012-04-18
当我手持这一张照片时,我感慨万分。小时候,我就不断听妈妈重复这样一句话:“日本人太坏了,坏得丧失了人性!”(点明时间和历史事件。)

我看到这张照片,眼中浮现了当时的情景,这是一张1937年8月28日,日本侵略军轰炸上海火车南站被记者拍下来的真实情景:

一个可怜的孩子,坐在一堆废墟中,伤心地用脏兮兮的手捂着脸大哭起来,他身旁的繁华在一刹那间变成了废墟,他伤心极了——因为他失去属于自己的家园,他失去了自己最最熟悉的亲人,他在心里默默的叫喊着:“爸爸……妈妈……你们……在……在哪呀!”他望了望周围,又用迷茫的眼睛望着砖头,用稚嫩的小手一点点的搬开砖头:“妈……妈别扔下我!”他眼里已经没有希望,如果他懂事了,他一定会想:为什么会这样,我的家,我的亲人们都到哪儿去了!是呀!这个小男孩的亲人到哪里去了呢?原来在日本飞机轰炸时,妈妈用全身护住了自己的孩子,不幸被炸死,孩子艰难地活了下来。后来他被一位拍照的记者看到,送进了孤儿院里。(动作和心理描写恰当好处。)

这时,我想起了妈妈对我说的一句说:“日本人太坏,坏得失去了人性!”没错,我总是认为,日本人难道没有孩子、亲人吗?难道他们就不知道失去亲人的危机感和恐惧感吗?难道他们就只会拿刀枪去杀些无辜的人吗?我痛恨日本侵略者,在他们的身上充满着血腥和野心!在他们不像其他国家那样:热爱和平,拥抱和平。(发表看法,反问有力。)

直到现在,以日本首相为首的日本人还不肯承认历史,承认自己给其他邻国造成的伤害,他们这样只会玩火自焚。

日本人呀,请珍爱他人的生命,为世界和平作出自己的贡献吧。(结尾提出忠告。)
第2个回答  2012-04-06
你好,最近刚学习完JNI,估计你的native方法就声明在test.java中,如果真的是这样的话,那么你需要重新编译你的test,重新生成.h头文件才可以。本回答被网友采纳
第3个回答  2012-04-06
你的test.dll是按照没有包的test.java生成的,你加上包后,javah生成的头文件就会有所不同了,这样动态库也需要重新编译。
第4个回答  2012-04-06
test.DLL放到编译后的test目录试试
相似回答