ͨ¹ýJNI ʵÏÖ javaÓëC++Ö®¼äµÄÐÅÏ¢´«µÝ
¶¨ÒåÒ»¸önative ·½·¨£º
package ext;
import java.util.Hashtable;
public class TestJNI
{
static
{
System.loadLibrary("dllfile");
}
public TestJNI()
{
Hashtable htable = new Hashtable();
htable.put(1,2);
}
public native Hashtable getNameList();
public static void main(String[] arg)
{
TestJNI tstJNI= new TestJNI();
Hashtable htable= tstJNI.getNameList();
System.out.println(htable.size());
}
}
ͨ¹ý javah Éú³É Í·Îļþ ext_TestJNI.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include "jni.h"
/* Header for class ext_TestJNI */
#ifndef _Included_ext_TestJNI
#define _Included_ext_TestJNI
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: ext_TestJNI
* Method: getNameList
* Signature: ()Ljava/util/Hashtable;
*/
JNIEXPORT jobject JNICALL Java_ext_TestJNI_getNameList
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
ÔÚc++´´½¨Ò»¸ödynamic dllÏîÄ¿£¬²¢ÔÚ StdAfx.h ÖÐ include Í·Îļþ ext_TestJNI.h
StdAfx.h ´úÂ룺
#if !defined(AFX_STDAFX_H__FAD3F2E4_D6E1_4011_9791_2256C4B0BDE6__INCLUDED_)
#define AFX_STDAFX_H__FAD3F2E4_D6E1_4011_9791_2256C4B0BDE6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Insert your headers here
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include "ext_TestJNI.h"
ÔÚ CPPÎļþÖж¨Òå ·½·¨ÊµÏÖ£º
CPP´úÂ룺
#include "stdAfx.h&
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
1.·½·¨ÖØÔØ£ºÊÇÖ¸ÔÚÒ»¸öÀàÖÐÓжà¸ö·½·¨µÄÃû×ÖÏàͬ£¬µ«ÕâЩ·½·¨µÄ²ÎÊý±ØÐ벻ͬ£¬¼´ÒªÃ´ÊDzÎÊýµÄ¸öÊý²»Í¬£¬ÒªÃ´ÊDzÎÊýµÄÀàÐͲ»Í¬
×¢Ò⣺ÔÚ·½·¨ÖØÔØÖУ¬·½·¨µÄ·µ»ØÀàÐͺͲÎÊýµÄÃû×Ö²»²ÎÓë±È½Ï
2.·½·¨ÖвÎÊýµÄ´«Öµ£ ......
ÖØÒªÐÔ
¼ì²éÏî
ÖØÒª
ÃüÃû¹æÔòÊÇ·ñÓëËù²ÉÓõĹ淶±£³ÖÒ»Ö£¿
¡¡
ÊÇ·ñ×ñÑÁË×îС³¤¶È×î¶àÐÅÏ¢ÔÔò£¿
ÖØÒª
has/can/isǰ׺µÄº¯ÊýÊÇ·ñ·µ»Ø²¼¶ûÐÍ£¿
×¢ÊÍ
¡¡
ÖØÒª
×¢ÊÍÊÇ·ñ½ÏÇåÎúÇÒ±ØÒª£¿
ÖØÒª
¸´ÔӵķÖÖ§Á÷³ÌÊÇ·ñÒѾ±»×¢ÊÍ£¿
¡¡
¾àÀë½ÏÔ¶µÄ}ÊÇ·ñÒѾ±»×¢ÊÍ£¿
¡¡
·ÇͨÓñäÁ¿ÊÇ·ñÈ«²¿±»×¢ÊÍ£¿
ÖØÒª
º¯ÊýÊÇ· ......
´´½¨Ò»¸öÀàµÄʵÀýʱ£¬
1.»áΪËüÒÔ¼°ËüµÄËùÓи¸ÀàµÄʵÀý±äÁ¿·ÖÅäÄÚ´æ¿Õ¼ä£¬Èç¹û·ÖÅä¿Õ¼ä³É¹¦£¬ÔòËùÓÐʵÀý±äÁ¿¶¼»á³õʼ»¯ÎªÄ¬ÈÏÖµ0¡¢false¡¢null
2.»áµÝ¹éµ÷Óø¸¹¹Ô캯Êý£¬µ«ÊÇÔݲ»Ö´Ðй¹Ô캯ÊýµÄÓï¾ä£»
3.¶Ô¸Ã¸¸¹¹Ô캯Êý¶ÔÓ¦µÄÀàµÄʵÀý±äÁ¿¸³Öµ
4.Ö´Ðи¸¹¹Ô캯ÊýµÄÆäËûÓï¾ä
5.¶ÔÓÚ×ÓÀִ࣬ÐÐ2-4²½Öè ......
ÔÚÍøÉÏ¿´Á˺öàÈË£¬¶ÔjdkµÄ»·¾³±äÁ¿Åä·¨²»Ï飬ÔÚ´ËС½áÒ»ÏÂ
ǰÌáÌõ¼þ£ºµçÄÔÉϰ²×°ÁËjdk
²½Ö裺
1£©ÎҵĵçÄÔ/ϵͳÊôÐÔ/¸ß¼¶/»·¾³±äÁ¿/Óû§±äÁ¿/н¨
a£©±äÁ¿Ãû£ºJAVA_HOME
±äÁ¿Öµ£ºE:\Program Files\Java\jdk1.5.0_04£¨jdk°²×°Â·¾¶£©
b£©±äÁ¿Ãû£ºPATH
±äÁ¿Öµ£º%JA ......