ͨ¹ý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&
Ïà¹ØÎĵµ£º
Ò»¡¢Java»ù´¡ÖªÊ¶
1.JavaÓÐÄÇЩ»ù±¾Êý¾ÝÀàÐÍ£¬StringÊDz»ÊÇ»ù±¾Êý¾ÝÀàÐÍ£¬ËûÃÇÓкÎÇø±ð¡£
2.×Ö·û´®µÄ²Ù×÷£º
дһ¸ö·½·¨£¬ÊµÏÖ×Ö·û´®µÄ·´×ª£¬È磺ÊäÈëabc£¬Êä³öcba
дһ¸ö·½·¨£¬ÊµÏÖ×Ö·û´®µÄÌæ»»£¬È磺ÊäÈëbbbwlirbbb£¬Êä³öbbbhhtccc¡£
3.Êý¾ÝÀàÐÍÖ®¼äµÄת»»
ÈçºÎ½«ÊýÖµÐÍ×Ö·ûת»»ÎªÊý×Ö£¨Intege ......
ÔÚÎÒÃÇд³ÌÐòµÄʱºò,ÓÐʱ»áÒªÇó±£´æÒ»Ð©Êý¾Ý,±ÈÈçÓû§Ãû»òÕß±ðµÄ,µ«ÊÇÕâÑùÊý¾ÝÓÖ²»ÊDZ£´æÔÚ³ÌÐòͬһĿ¼ÏÂ,ÕâÑù×öÌ«Ã÷ÏÔÁË,Ò²²»Ì«°²È«,ÄÇÔõô°ìÄØ?Õâ¸öʱºò,Èç¹ûÄܰÑÊý¾Ý±£´æµ½×¢²á±íÀïÃæÈ¥,ÄǸöàºÃ,Ò»À´Òþ±Î,¶þÀ´·½±ã,²»ÖÁÓÚÔÚ³ÌÐòĿ¼ÏÂÉú³ÉÒ»´óƬÎļþ.
ÔÚJAVAÀïÃæ,¿ÉÒÔÀûÓÃjava.util.prefs.PreferencesÀ´¶Ô×¢²á±í½øÐ ......
×òÌì¿´µ½ÁôÑÔ,ÓÚÊǽñÌìÓÖ°ÑһЩ¹¦Äܼӽø½øÈ¥ÁË
±ÈÈç,
1,³ÌÐò¿ÉÒÔ×îС»¯µ½ÏµÍ³ÍÐÅÌÇø
2,³ÌÐò¿ÉÒÔÅúÁ¿±£´æËùÓнعýµÄͼƬ
3,ÐÞÕýÁËÒÔǰµÄÒ»¸öСBUG,ÄǾÍÊÇÊäÈë±£´æÍ¼Æ¬µÄÎļþÃûʱ,Èç¹ûûÓÐÊäÈëºó׺Ãû,½«±£´æÕý³£,Èç¹ûÊäÈëÁ˺ó׺Ãû,½«»á±£´æ¸ñʽ³ö´í
´ò°üÎļþÇëµã»÷ÕâÀïÏÂÔØ,distÎļþ¼ÐÀïÃæµÄJARÎļþÊÇ¿ÉÒÔË«»÷Ö´ÐеÄ
¸Ð ......
Æä¼¼ÇɾÍÊÇ£º¶¨ÒåÒ»¸ö¼òµ¥½Ó¿Ú£¬²¢ÔڸýӿÚÖÐÉùÃ÷ÎÒÃÇÒªµ÷Óõķ½·¨£¬Ò»°ã¿ÉÒÔÓ¦ÓÃÔÚ¼üÅÌÊó±êʼþ¸ú×Ù¡£
ÏÂÃæ¾ÙÒ»¸öÀý×Ó£º
¼Ù¶¨ÎÒÃÇÏ£ÍûÔÚij¸öʼþ·¢ÉúʱµÃµ½Í¨Öª¡£ÎÒÃÇ¿ÉÒÔ¶¨ÒåÒ»¸ö½Ó¿Ú£º
/*
* ÔÚij¸öʼþ·¢ÉúʱµÃµ½Í¨Öª£®
*/
public interface InterestingEvent {
¡¡¡¡ public void interestingEvent() ......