Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ʹÓÃrocksawºÍvserv tcpipʵÏÖ»ùÓÚICMPµÄPing¹¦ÄÜ

Ò»£º×¼±¸ www.savarese.org download
 1.  rocksaw-1.0.0-src.tar.gz
 2.  vserv-tcpip-0.9.2-src.tar.gz
¶þ£º±àÒëÔ´ÎļþµÃµ½jar°ü ʹÓÃAnt
 1.  build vserv-tcpip-0.9.2-src
      ÔÚvserv-tcpip-0.9.2Ŀ¼ÏÂÃæ½¨Ò»¸ötestsĿ¼£¬È»ºóÔÚcmd´°¿ÚϽøÈë ......

½âÎöJavaÀàºÍ¶ÔÏóµÄ³õʼ»¯¹ý³Ì

ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......

JAVA±Ê¼Ç£¨Î壩

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

cÅжϺº×Ö

#include <windows.h>
int IsGB(PTSTR pText);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
     PSTR szCmdLine, int iCmdShow)
{
 static TCHAR szText[] = {TEXT ("i·þ,ÁË¡£u£ù")} ;
 PTSTR pText;
 int i;
 unsigned char ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ