Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÓïÑÔ»ì±àÖ®javaµ÷ÓÃc dll jni¼¼ÊõСÊÔ

¸Õ´ÓÍøÉÏ¿´µ½cºÍjava»ì±àµÄÎÄÕ£¬¾Íؽ²»¿É´ýµÄ³¢ÊÔÁËһϡ£ºÇºÇ£¬Ð§¹û»¹ÊǺܺõġ£ÏÂÃæ½«×Ô¼º³É¹ûÕ³Ìù³öÀ´
£¨×ªÔØÓÚhttp://www.zxbc.cn/html/20070518/19986.html£©¡£ÊµÑéÖ®ºó¿ÉÒÔͨ¹ý¡£
1javaÖе÷ÓÃcÓïÑÔ
Ê×ÏȱàдMain.java
public class Main 
{
 public native static int getStrNum(byte str[], int strLen);

ÔÚÃüÁîÐÐÖУ¬Ê¹ÓÃÈçÏÂÃüÁî±àÒ룺
javac Main.java 
ÏÂÃæµÄÃüÁÉú³ÉMain.hÍ·Îļþ
javah Main 
´ò¿ªvs2008£¬ н¨¹¤³ÌMakeDll£¨win32 console application£©£¬ÉèÖÃÏîÄ¿ÊôÐÔÈçÏ£º
ÔÚproject-¡·MakeDll Properties-¡·ÔÚGeneralÑ¡ÏÉÏ£¬Ñ¡ÔñÉú³ÉdllÎļþ¡£
ͬʱÐèÒªÔÚÏîÄ¿µÄc++ÏÂgeneralϵÄAdditional include directoryϼÓÔØjdk°²×°Ä¿Â¼ÏµÄincludeÎļþ¼ÐºÍ¸ÃÎļþ¼ÐϵÄwin32
×ÓĿ¼¡£
½«µÚÒ»²½Éú³ÉµÄMain.hÎļþ¼ÙÈçµ½¹¤³ÌÖУ¬Í¬Ê±Ð½¨Ò»¸ömain.cppÎļþ£¬ÔÚÆäÖмÙÈçÈçÏ´úÂ룺
#include "Main.h"
#include <string.h>
JNIEXPORT jint JNICALL Java_Main_getStrNum  (JNIEnv *env, jclass cls, jbyteArray str, jint strLen) 

 jbyte *buffer = (*env).GetByteArrayElements(str, 0); 
 buffer[strLen] = ' '; 
 jint len = strlen((char*)buffer); 
 
 return len; 

±àÒë¼´¿ÉÉú³ÉMakeDll.dllÎļþ¡£
ÔÚjavaÔ´ÎļþÖе÷ÓøÃdllÎļþ£¨×¢ÒâÐèÒª½«dllÎļþºÍ±àÒëµÄclassÎļþ·ÅÖÃÔÚͬһ¸öÎļþ¼ÐÏÂÃæ£©
javaÔ´Îļþ´úÂëÈçÏ£º
public class Main
{
 static
 {
  System.loadLibrary ("MakeDll");
 }
 
 public native static int getStrNum (byte[] str, int strLen);
 
 public static void main (String[] args)
 {
  Main instance = new Main ();
  String str = new String ("haha");
  int num = instance.getStrNum (str.getBytes (), str.length ());
  System.out.println (num);
 }
}
±àÒë¸ÃjavaÔ´Îļþ£¬Í¬Ê±Ö´ÐиÃÎļþ¡£
javac Main.java
java Main
¼´¿ÉÊä³öÏàÓ¦½á¹û¡£


Ïà¹ØÎĵµ£º

ͨ¹ý DAOFactory µÄ·ºÐÍд·¨À´ÑÝʾJava·ºÐ͵ÄÌØÊâÓ÷¨

ͨ¹ý DAOFactory µÄ·ºÐÍд·¨À´ÑÝʾJava·ºÐ͵ÄÌØÊâÓ÷¨
СÐÍÏîÄ¿Öг£³£¶¼Ã»ÓÐÓÃÈý·½³Ö¾Ã»¯¿ò¼Ü£¬¶ø´ó¶¼ÊÇÓù«Ë¾»ò×ÔÐÐÒÀ¾ÝDAOģʽ·â×°µÄһЩ×é¼þÀ´Íê³ÉÊý¾Ý¿â³Ö¾Ã»¯¶¯×÷£¬²¢ÇÒ£¬Í¨³£ÎªÁ˸ü¾ß¿ÉÀ©Õ¹ÐÔ£¬³£³£Ê¹ÓóéÏ󹤳§Ä£Ê½À´½âñîºÏ¡£
Ò»¡¢ÏÈ¿´´úÂë
1¡¢¼òµ¥¹¤³§´úÂë
/************************************************* ......

»Ø»÷¡°JavaÒÑËÀ"´«ÑÔ JavaÒÀ¾ÉµØÎ»ÎȹÌ

±àÕß°´£ºÔçÔÚÉÏÊÀ¼Í90Äê´ú£¬¸÷ÖÖ¹ØÓÚJavaÒÑËÀµÄ¶ÏÑÔ¾ÍÒѾ­¿ªÊ¼³öÏÖ¡£Ê®¶àÄêÖ®ºóµÄ½ñÄ꣬ÕâÑùµÄÑÔÂÛÒÀÈ»²»¾øÓÚ¶ú¡£ÒԹؼü´Ê"java is dead"ÔÚGoogleÖÐËÑË÷£¬µÃµ½´óÔ¼199,000Ìõ½á¹û£¬Óɴ˿ɼû²»ÉÙÈËд¹ý»òÆÀÂÛ¹ýJavaµÄËÀÍö¡£Õë¶ÔÕâÃÅÒÑËÀÊ®¶àÄêµÄÓïÑÔ£¬×÷ÕßÔÚÎÄÖиÅÊöÁ˵±½ñJavaµÄµØÎ»¼°Æä·¢Õ¹Ç÷ÊÆ£¬ÓÐÁ¦µØ»Ø»÷ÁËÕâЩ´«ÑÔ¡£È«Î ......

Java½Ó¿ÚºÍJava³éÏóÀàÇø±ð

Ò»¸öÈí¼þÉè¼ÆµÄºÃ»µ£¬ÎÒÏëºÜ´ó³Ì¶ÈÉÏÈ¡¾öÓÚËüµÄÕûÌå¼Ü¹¹£¬¶øÕâ¸öÕûÌå¼Ü¹¹Æäʵ¾ÍÊÇÄã¶ÔÕû¸öºê¹ÛÉÌÒµÒµÎñµÄ³éÏó¿ò¼Ü£¬µ±´ú±íÒµÎñÂß¼­µÄ¸ß²ã³éÏó²ã½á¹¹ ºÏÀíʱ£¬Äãµ×²ãµÄ¾ßÌåʵÏÖÐèÒª¿¼Âǵľͽö½öÊÇһЩËã·¨ºÍһЩ¾ßÌåµÄÒµÎñʵÏÖÁË¡£µ±ÄãÐèÒªÔÙ¿ª·¢ÁíÒ»¸öÏà½üµÄÏîĿʱ£¬ÄãÒÔǰµÄ³éÏó²ã˵²»¶¨»¹¿ÉÒÔÔÙ´ÎÀûÓÃ ÄØ£¬Ãæ¶Ô¶ÔÏóµÄÉè¼Æ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ