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

C/C++ Óë JAVA µÄ»¥²Ù×÷

ǰÑÔ£ºÇ°¶Îʱ¼äÔÚCSDNµÄC++ÉçÇøÓöµ½Ò»¸öÐèÒª·â×°¿¼ÇÚ»ú½Ó¿ÚµÄ¶¯Ì¬¿â¸øJAVAµ÷ÓõÄÌû×Ó£¬¹´ÆðÁËÎÒ¶ÔJAVAµÄÎÞÏÞ»³Äî¡£ÔÚ´Ë£¬ÎÒÏë°ÑÕâÏî¼¼Êõ¼òµ¥ÔÙ½éÉÜһϡ£
Ò»¡¢¹ØÓÚJava Native Interface (JNI)
JNIÊÇJAVA±¾µØ±à³Ì½Ó¿Ú£¬ÊôÓÚJDKµÄÒ»²¿·Ö¡£ËüÔÊÐíJAVAÄܹ»²Ù×÷±¾µØAPI»òÓÉÆäËûÓïÑÔ±àдµÄ¶¯Ì¬¿â¡£²»¹ýµ±ÄãʹÓÃÕâÏî¼¼ÊõµÄʱºò£¬ÐèÒª¿¼ÂÇJAVAµÄ¿ÉÒÆÖ²ÐÔ¡£
¶þ¡¢±àдһ¸ö¼òµ¥µÄJNI³ÌÐò
1¡¢±àдһ¸öJAVA³ÌÐò
 
// HelloWorld.java
class HelloWorld
{
//ÉùÃ÷±¾µØ·½·¨,ÒÔnativeΪ¹Ø¼ü×Ö
public native void displayHelloWorld();
static
{
//¼ÓÔØ±¾µØ·½·¨ËùÔڵĶ¯Ì¬¿â
System.loadLibrary("HelloWorld");
}
public static void main(String[] args)
{
new HelloWorld().displayHelloWorld();
}
}
ÖØµã²¿·Ö: a)±¾µØ·½·¨ÒÔnativeΪ¹Ø¼ü×ÖÉùÃ÷ b)¼ÓÔØ¶¯Ì¬¿â
2¡¢±àÒëÔ´³ÌÐò
cmd > javac HelloWorld.java
3¡¢´´½¨.hÎļþÎÒÃÇÐèÒª´ÓHelloWorld.classÎļþÖÐÉú³É¶ÔÓ¦µÄ.hÎļþ£¬ÒÔ±ãÔÚC/C++±àд´úÂë¡£
cmd>javah -jni HelloWorld
Éú³ÉµÄÎļþ(HelloWorld.h)³¤Õâ¸öÑù×Ó:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>/* Header for class HelloWorld */
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplusextern "C" {
#endif
/* * Class: HelloWorld * Method: displayHelloWorld * Signature: ()V */
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld (JNIEnv *, jobject);
#ifdef __cplusplus}
#endif
#endif

4¡¢¶ÔÓ¦HelloWorld.hÎļþ´´½¨Ò»¸ö.cÎļþ,ʵÏÖ²¿·ÖÔÚÀïÃæ±àд
#include <jni.h>
#include "HelloWorld.h"
#include <stdio.h>
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
{
printf("Hello world!\n");
return;
}
5¡¢±àÒë¸Ã.cÎļþ,Éú³Édll
cmd >cl /IC:\j2sdk1.4.2_08\include /IC:\j2sdk1.4.2_08\include\win32 /LD HelloWorld.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
HelloWorld.c
Microsoft (R) Incremental Linker Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserve


Ïà¹ØÎĵµ£º

javaÖÐÓë(&)ºÍ»ò(|)ÔËËã

System.out.println(2|0); //0010 0000 =>0010 = 2
System.out.println(2|1); //0010 0001 =>0011 = 3
System.out.println(3|2); //0011 0010 =>0011 = 3
System.out.println(3&2); //0011 0010 =>0010 = 2
/*
  ÔÚjavaÖÐ0´ú±í¼Ù, 1´ú±íÕæ
  00011|0010  ´ÓÓÒµ½×ó±È½Ï0|1 = 1, 1|0 = ......

JAVA¸÷Êý¾Ý¿âÁ¬½ÓÇý¶¯

1¡¢Oracle8/8i/9iÊý¾Ý¿â£¨thinģʽ£©
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orclΪÊý¾Ý¿âµÄSID
String user="test";
String password="test";
Connection conn= DriverManager.getC ......

java¼¯ºÏÏê½â

Ä¿    ¼
1        ¼¯ºÏ¿ò¼Ü... 2
1.1      ¼¯ºÏ¿ò¼Ü¸ÅÊö... 2
1.1.1      ÈÝÆ÷¼ò½é... 2
1.1.2      ÈÝÆ÷µÄ·ÖÀà... 4
1.2      Collection. 5
1.2.1  ......

ioframe socket io frameÉèÏëÖеÄCÍøÂç¿â


ÉèÏëÖеÄCÍøÂç¿âioframe is a simple base socket library using libevent.http://blog.csdn.net/Solstice/archive/2010/03/10/5364096.aspx
°´ÕÕ
µÄ˼ÏëÌá½»µÄÒ»·Ý´úÂë¡£
ÉèÏëÖÐµÄ C++ ÍøÂç¿âḬ̈߳²È«£¬Ö§³Ö¶àºË¶àÏß³ÌÔÚ²»Ôö¼Ó¸´ÔӶȵÄǰÌáÏ¿ÉÒÔÖ§³Ö FreeBSD/Darwin£¬·½±ã½«À´Óà Mac ×÷Ϊ¿ª·¢Óûú£¬µ«²»ÎªËü×öÐÔÄÜ ......

Cö¾ÙÀàÐ͵ÄʹÓ÷½·¨


1.  ö¾ÙµÄ¶¨Òåö¾ÙÀàÐͶ¨ÒåµÄÒ»°ãÐÎʽΪ£º
    enum ö¾ÙÃû{ ö¾ÙÖµ±í };
ÔÚö¾ÙÖµ±íÖÐÓ¦ÂÞÁгöËùÓпÉÓÃÖµ¡£ÕâЩֵҲ³ÆÎªÃ¶¾ÙÔªËØ¡£
ÀýÈ磺
   
¸Ãö¾ÙÃûΪweekday£¬Ã¶¾ÙÖµ¹²ÓÐ7¸ö£¬¼´Ò»ÖÜÖÐµÄÆßÌì¡£·²±»ËµÃ÷ΪweekdayÀàÐͱäÁ¿µÄȡֵֻÄÜÊÇÆßÌìÖеÄijһÌì¡£
2.  ö¾Ù±äÁ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ