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

JavaÖе÷ÓÃC/C++Éú³ÉµÄDLL

JavaÖе÷ÓÃC/C++Éú³ÉµÄDLL
Ò»¡¢ Éú³ÉCµÄÍ·Îļþ
¡¡¡¡1. ±à¼­Main.java
¡¡public class Main
¡¡¡¡{
¡¡¡¡public native static int getStrNum(byte str[], int strLen);
¡¡¡¡}
¡¡¡¡2. Éú³ÉÍ·Îļþ
¡¡¡¡°´win + r´ò¿ª“ÔËÐД´°¿Ú£¬ÊäÈë“cmd”£¬´ò¿ªDOS¿ØÖÆ̨´°¿Ú¡£½øÈëÉÏÃæMain.javaËùÔÚµÄĿ¼ÖУ¬ÊäÈ룺
¡¡¡¡javac Main.java
¡¡¡¡javah Main
¡¡¡¡Á½ÌõÃüÁîÍê³Éºó»áÉú³ÉMain.hÎļþ
¡¡¡¡¶þ¡¢ Éú³ÉDLL
¡¡¡¡1. н¨¿Õ¹¤³Ì
¡¡¡¡ÔÚVSÖÐн¨¹¤³Ì£ºWin32 Console Application£¬È¡Ãû“MakeDLL”£¬Ñ¡Ôñ¿Õ¹¤³Ì¡£Ð½¨ºóÐ޸Ť³ÌÊôÐÔ£º
¡¡¡¡(1) GeneralÖУ¬½«“Configuration Type”¸ÄΪ“Dynamic Library (.dll)”£»
¡¡¡¡(2) C/C++µÄGeneralÖУ¬½«“Additional Include Directories”Ìí¼ÓÁ½Ï
¡¡¡¡“C:Program FilesJavajdk1.5.0_06include”
¡¡¡¡“C:Program FilesJavajdk1.5.0_06includewin32”
¡¡¡¡¸ù¾ÝÄã°²×°µÄJAVA·¾¶¶øÉèÖã¬ÕâÊÇÒòΪÔÚC/C++±àÒë¹ý³ÌÖÐҪʹÓÃJAVAµÄjni.hµÈÎļþ
¡¡¡¡2. ½«ÉÏÃæÉú³ÉµÄMain.hÌí¼ÓÈ빤³Ì
¡¡¡¡3. н¨Ò»¸öеÄÎļþ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] = ’’; // ÓÉÓÚJAVA×Ô¶¯·ÖÅä¿Õ¼ä£¬ÐèÒª´«½øÀ´×Ö·û´®³¤¶È²ÎÊý
¡¡¡¡jint len = strlen((char*)buffer);
¡¡¡¡return len;
¡¡¡¡}
¡¡¡¡4. °´F7±àÒëÁ´½Ó£¬Éú³ÉMakeDLL.dllÎļþ
¡¡¡¡Èý¡¢ JAVAµ÷ÓÃDLL
¡¡¡¡ÔÚJAVAÖÐʹÓÃÉÏÃæÉú³ÉµÄDLLÎļþ£º
¡¡¡¡1. ½«MakeDLL.dll¸´ÖƵ½ÓëʹÓÃDLLµÄJAVAÎļþÏàͬµÄĿ¼Ï¡£
¡¡¡¡2. JAVAÎļþµÄÔ´´úÂ룺
public class Main
¡¡¡¡{
¡¡¡¡static
¡¡¡¡{
¡¡¡¡System.loadLibrary(’MakeDLL’);
¡¡¡¡}
¡¡¡¡public native static int getStrNum(byte str[], int strLen);
¡¡¡¡public static void main(String[] args)
¡¡¡¡{
¡¡¡¡


Ïà¹ØÎĵµ£º

JavaÖÐ×Ö·û´®ÓëASCIIÏ໥ת»»


import java.io.UnsupportedEncodingException;
public class T {
 public static void main(String[] args) throws UnsupportedEncodingException {
  t1();//ASCIIת»»Îª×Ö·û´®
  t2();//×Ö·û´®×ª»»ÎªASCIIÂë
 }
 public static void t1(){//ASCIIת»»Îª×Ö·û´®
   ......

ͨ¹ýjava·´Éä»úÖƶ¯Ì¬µ÷ÓÃij·½·¨µÄ×ܽá

ͨ¹ýjavaµÄ·´Éä»úÖÆ£¬¶¯Ì¬µ÷ÓÃij¸ö·½·¨£º
ÈçÏ£º
public Object invokeMethod(String className, String methodName,
Object[] args) throws Exception{
Class ownerClass = Class.forName(className);
Object owner = ownerClass.newInstance();

Class[] argsClass = new Class[args.length ......

C#, Java ºÍ Matlab 6.5 Êé¼®

ed2k://|file|[ReadFree]_C#.¿ª·¢ÈËÔ±Ö¸ÄÏ——ASP_NET¡¢XML¡¢web·þÎñÓë.ADO_NET_11030729.rar|6563070|B1CBF4D0032C8D78FB10F5F2AE6C3882|/
ed2k://|file|[ReadFree]_C#ÍøÂçÓ¦Óñà³Ì_11041620.rar|8063056|7044A65903D86BF88BE8AF26D8E02B61|/
ed2k://|file|[ReadFree]_Java.P2P³ÌÐòÉè¼Æ_11052086.rar|8742852| ......

javaÄÚ´æ¹ÜÀí¼°ÄÚ´æй¶

    ±àÕß°´£ºJavaÄÚ´æй©ÊÇÿ¸öJava³ÌÐòÔ±¶¼»áÓöµ½µÄÎÊÌ⣬³ÌÐòÔÚ±¾µØÔËÐÐÒ»ÇÐÕý³££¬¿ÉÊDz¼Êðµ½Ô¶¶Ë¾Í»á³öÏÖÄÚ´æÎÞÏÞÖƵÄÔö³¤£¬×îºóϵͳ̱»¾£¬ÄÇôÈç
ºÎ×î¿ì×îºÃµÄ¼ì²â³ÌÐòµÄÎȶ¨ÐÔ£¬·Àֹϵͳ±ÀÅÌ£¬×÷ÕßÓÃ×ÔÒѵÄÇ×Éí¾­ÀúÓë¸÷λÍøÓÑ·ÖÏí½â¾öÕâЩÎÊÌâµÄ°ì·¨¡£
   
×÷ΪInternet×îÁ÷Ðеı ......

javaÐÔÄܵÄÓÅ»¯(Ò»)

 
ÎÒ¶ÔÎÊÌâµÄÀí½â£ºÃæÊÔÖеÄÒ»¸öÎÊÌ⣬¾ÓÈ»ÏëÁË°ëÌìûÓÐʲôͷÐ÷£¬ÎÒÏ뻹ÊÇûÓÐ˼¿¼£¬Ã»ÓлýÀÛ¹ý¡£ÆäʵÍêÈ«¿ÉÒÔ˵ÉÏһЩСϸ½Ú£¬±ÈÈçÓÃStringBuffer´úÌæString£¬ÓÃHashMap´úÌæHashtable, ³Ë·¨²Ù×÷ÓÃλÒÆ£¬¾¡Á¿¸´ÓÃÒÑÓеľ­¹ý¼ìÑéµÄ¸ßЧ´úÂëµÈµÈ¡£
    ÏÂÃæµÄÎÄÕÂתÔØ×Ô±ðµÄÍøÕ¾£¬Ð´µÃºÜרҵ£¬Öܵ½£¬ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ