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

ͨ¹ýJNIÔÚJAVAÓëC³ÌÐòÖд«µÝ²ÎÊý

Ò»¡¢±à¼­JavaÔ´Îļþ
=============================================
Hello.java
=============================================
package test;
public class Hello
{
  static
  {
    try
    {
      //´Ë´¦¼´Îª±¾µØ·½·¨ËùÔÚÁ´½Ó¿âÃû
      System.loadLibrary("libhello");
    }
    catch(UnsatisfiedLinkError e)
    {
      System.err.println( "Cannot load hello library:\n " + e.toString() );
    }
  }
  public Hello()
  {
  }
   //ÉùÃ÷µÄ±¾µØ·½·¨
    public native void SayHello(String strName);
}
=======================================================
ToSay.java
package test;
public class ToSay {
public static void main(String args[]){
        Hello hw = new Hello();
        hw.SayHello("Christmas
");   
    }
}
=======================================================
¶þ¡¢¸ù¾ÝJavaÔ´ÎļþÉú³É.hÍ·Îļþ
=======================================================
javacÉú³ÉHello.class
javac Hello.java
javah test.HelloÉú³Étest_Hello.h->Hello.h
javah test.Hello
=======================================================
Èý¡¢±à¼­C/C++Îļþ
=======================================================
Hello.c
#include "Hello.h"
#include <stdio.h>
//ÓëHello.hÖк¯ÊýÉùÃ÷Ïàͬ
JNIEXPORT void JNICALL Java_test_Hello_SayHello
(JNIEnv * env, jobject arg, jstring instring)
{
   //´Óinstring×Ö·û´®È¡µÃÖ¸Ïò×Ö·û´®UTF±àÂëµÄÖ¸Õë
const jbyte *str = (const jbyte *)env->GetStringUTFChars( instring, JNI_FALSE );
    printf("Hello,%s\n",str);
  //֪ͨÐéÄâ»ú±¾µØ´úÂë²»ÔÙÐèҪͨ¹ýstr·ÃÎÊJava×Ö·û´®¡£
    env->ReleaseStringUTFChars( instring, (const char


Ïà¹ØÎĵµ£º

JAVA±Ê¼Ç£¨Î壩

javaÖеÄÐÞÊηû
static ±íʾ¾²Ì¬£¬Ëü¿ÉÒÔÐÞÊÎÊôÐÔ£¬·½·¨ºÍ´úÂë¿é¡£
1£¬staticÐÞÊÎÊôÐÔ£¨Àà±äÁ¿£©£¬ÄÇôÕâ¸öÊôÐԾͿÉÒÔÓà ÀàÃû.ÊôÐÔÃû À´·ÃÎÊ£¬Ò²¾ÍÊÇʹÕâ¸öÊôÐÔ³ÉΪ±¾ÀàµÄÀà±äÁ¿£¬Îª±¾Àà¶ÔÏóËù¹²ÓС£Õâ¸öÊôÐÔ¾ÍÊÇÈ«À๫ÓС££¨¹²ÓеÄÀà±äÁ¿Óë¶ÔÏóÎ޹أ¬Ö»ºÍÀàÓйأ©¡£
Àà¼ÓÔصĹý³Ì£¬Àà±¾ÉíÒ²ÊDZ£´æÔÚÎļþÖУ¨×Ö½ÚÂëÎļþ± ......

¡¾C\C++ÓïÑÔÈëÃÅƪ¡¿ ÐòÑÔ

֮ǰµÄ¶¨Î»¿ÉÄÜÖ÷ҪΪÁËÑо¿µ×²ã¼°Ò»Ð©½Ï¸´ÔÓµÄÎÊÌâÉÏ£¬¶øºöÂÔÁËһЩ³õѧµÄÅóÓÑ¡£µ¼ÖÂËûÃÇ¿ÉÄÜÒ»½øÀ´¾ÍÓеã“Íû¶øÉúη”µÄ¸Ð¾õ£¨×ÔÚ¼Á˹þ£¬ÅÄש£¡£©¡£Ó¦¹ÖÊÞȺÀïÐֵܼ°Ò»Ð©ÅóÓѵĽ¨Ò飬ͬʱҲΪÁË°Ñ×Ô¼ºµÄ¾­Ñé¼°±à³Ì·½ÃæµÄһЩÏë·¨·ÖÏí¸ø´ó¼Ò¡£Òò´Ë´òËãдһЩCC++ÓïÑÔ»ù´¡ÈëÃŵIJ©ÎÄ¡£
´Ó±¾Ä£¿éÖУ¬´ó¼Ò¿ÉÒÔÁ˽â ......

Cµ½»ã±àµÄÏêϸ½²½â

»ã±à½ÒÃØCÓïÑÔÖеIJÎÊý´«µÝÎÊÌâ[zz]
ÎÄÕÂ×÷Õߣºcook702
ºÜ¶àѧϰ»ã±àµÄÅóÓÑÏë±Ø¶ÔCÒ²±È½ÏÁ˽⣬ÒòΪÔÚµ±Ç°´óѧµÄ¿Î³ÌÌåϵÀËüºÜÓпÉÄܾÍÊÇÄã½Ó´¥µ½µÄµÚÒ»Ãűà³ÌÓïÑÔ¡£ÓÉÓÚ¶Ô¼ÆËã»úµÄÀí½â²»¹»£¬Ñ§Ï°Ê±±Ø¶¨»áÓö
µ½¸÷ÖÖÎÊÌâ¡£ÓÐЩÎÊÌâÊÇÄãͨ¹ý˼¿¼¾Í¿ÉÒÔ½â¾öµÄ£¬¶ø¸ü¶àµÄÎÊÌâÔòÊÇÄãÎÞ´Ó˼¿¼£¬¾ÍºÃÏñËüÌìÉú¾ÍÊÇÕâÑù£¬ÄãÖ»Ò ......

CºÍÖ¸Õëѧϰ±Ê¼Ç £¨1£©

CºÍÖ¸Õëѧϰ±Ê¼Ç £¨1£©
       µÚ¶þÕ »ù±¾ÖªÊ¶
»·¾³£º·ÖΪ·­ÒëºÍÖ´ÐÐ2¸ö¹ý³Ì¡£ÆäÖз­Òë¿ÉÒÔÀí½âΪÊÇÒ»¸ö´Ó³ÌÐò—Ä¿±ê´úÂë—Á´½ÓÆ÷µÄ¹ý³Ì¡£±àÒë¹ý³ÌÓУº
1Ô¤´¦ÀíÆ÷£º´¦Àí#define #includeÕâÒ»Àà´úÂëµÄ¹ý³Ì£»
2Ô´´úÂë½âÎö£º²úÉú´íÎóºÍ¾¯¸æ£»
3ÓÅ»¯Æ÷£ºÓÐÀûÓÚÓÅ»¯´úÂ룬Ìá¸ßЧ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ