Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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
¼´¿ÉÊä³öÏàÓ¦½á¹û¡£


Ïà¹ØÎĵµ£º

JavaÊý¾Ý¿â±à³Ì


µÚÒ»Õ£ºjava¶ÔÏó³Ö¾Ã»¯¼¼Êõ¸ÅÊö
1£º³Ö¾Ã»¯£ºpersistence£»¶ÔÏó³Ö¾Ã»¯°üº¬Á½·½ÃæµÄÄÚÈÝ£º½«ÄÚ´æÊý¾Ý´æÈ볤ÆÚ¼ÇÒä½éÖʲ¢ÄÜ´ÓÕâЩ½éÖÊÉÏÎÞ²î´íµØ¸´Ô­µ½ÄÚ´æ¡£
2£ºÍ¨¹ýʵÏÖjava.io°üÖеÄSerializable½Ó¿Ú£¨¼´¶ÔÏóÐòÁл¯ºÍ·¹ÐòÁл¯¼¼Êõ£©ÊµÏÖ£¬ÕâÖÖ¼¼ÊõºÜÖØÒª£¬ËäÈ»ÔÚÖ´Ðг־û¯Ê±Óм«´óµÄÏÞÖÆ£¬È磺ЧÂʵÍÏ¡¢²»Ö§³ÖÊÂÎñµÈ ......

JAVA»ù´¡ÖªÊ¶¾«»ª×ܽá

1¡¢ ¶ÔÏóµÄ³õʼ»¯
(1) ·Ç¾²Ì¬¶ÔÏóµÄ³õʼ»¯
ÔÚ´´½¨¶ÔÏóʱ£¬¶ÔÏóËùÔÚÀàµÄËùÓÐÊý¾Ý³ÉÔ±»áÊ×ÏȽøÐгõʼ»¯¡£
»ù±¾ÀàÐÍ£ºintÐÍ£¬³õʼ»¯Îª0¡£
Èç¹ûΪ¶ÔÏó£ºÕâЩ¶ÔÏó»á°´Ë³Ðò³õʼ»¯¡£
¡ùÔÚËùÓÐÀà³ÉÔ±³õʼ»¯Íê³ÉÖ®ºó£¬²Åµ÷Óñ¾ÀàµÄ¹¹Ôì·½·¨´´½¨¶ÔÏó¡£
¹¹Ôì·½·¨µÄ×÷ÓþÍÊdzõʼ»¯¡£
(2) ¾²Ì¬¶ÔÏóµÄ³õʼ»¯
³ÌÐòÖÐÖ÷ÀàµÄ ......

JAVA¼òµ¥¸ÅÄî

1.ʵÀý³ÉÔ±ºÍÀà³ÉÔ±
ʵÀý³ÉÔ±ÖÐÊÇÊôÓÚ¶ÔÏóµÄ,°üÀ¨ÊµÀý³ÉÔ±±äÁ¿ºÍʵÀý³ÉÔ±·½·¨,Ö»Óд´½¨Á˶ÔÏóÖ®ºó²ÅÄÜ·ÃÎÊʵÀý³ÉÔ±±äÁ¿ºÍʵÀý³ÉÔ±·½·¨.
    Àà³ÉÔ±ÊÇÊôÓÚÀàµÄ,Àà³ÉÔ±ÐèÒªÓùؼü×Östatic±êʶ,Ò²³ÆÎª¾²Ì¬³ÉÔ±,Àà³ÉÔ±°üÀ¨Àà³ÉÔ±±äÁ¿ºÍÀà³ÉÔ±·½·¨,ͨ¹ýÀàÃû¿ÉÒÔÖ±½Ó·ÃÎÊÀà³ÉÔ±±äÁ¿ºÍµ÷ÓÃÀà³ÉÔ±·½·¨,¼´Ê¹Ã»Óд´½ ......

JavaºÍC++³ÌÐòÔ±´ýÓöÎÊÌâ

      ×î½ü°àÀïµÄͬѧ¶¼Ã¦×ű¨°à£¬Óиö´ïÄÚÊÇjavaÅàѵ£¬ÓиöÉîÀ¶ÊÇC++Åàѵ£¬ÍøÉÏ¿´ÁËЩÌû×Ó˵ʲôµÄ¶¼ÓУ¬×ÔÎҸоõÅàÑøÒ»¸öC++³ÌÐòÔ±µÄÖÜÆÚÒª±ÈÅàÑøÒ»¸öjAVA³ÌÐòÔ±µÄÖÜÆÚ³¤ºÜ¶à£¬µ±È»£¬C++ÒªÊÇѧµÄºÃµÄ»°¿Ï¶¨±ÈѧjavaµÄÅ££¬µ«ÊǸ¶³öµÄ´ú¼Û¸öÈËÈÏΪÊÇÓкܴó²î¾àµÄ¡£¶ÔÓÚÏÖÔÚÊг¡É϶ÔÓÚÓïÑÔµÄÐèÇóÒ² ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ