ͨ¹ý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±à³Ì³ÌÐòÔ±±ØÐëÁ˽âGCµÄ¹¤×÷ÔÀí¡¢ÈçºÎÓÅ»¯GCµÄÐÔÄÜ¡¢ÈçºÎÓëGC½øÐÐÓÐÏ޵Ľ»»¥£¬ÒòΪÓÐһЩӦÓóÌÐò¶ÔÐÔÄÜÒªÇó½Ï¸ß£¬ÀýÈçǶÈëʽϵͳ¡¢ÊµÊ±ÏµÍ³µÈ£¬Ö»ÓÐÈ«ÃæÌáÉýÄÚ´æµÄ¹ÜÀíЧÂÊ £¬²ÅÄÜÌá¸ßÕû¸öÓ¦ÓóÌÐòµÄÐÔÄÜ¡£±¾ÆªÎÄÕÂÊ×Ïȼòµ¥½éÉÜGCµÄ¹¤×÷ÔÀíÖ®ºó£¬È»ºóÔÙ¶ÔGCµÄ¼¸¸ö¹Ø¼üÎÊÌâ½øÐÐÉîÈë̽ÌÖ£¬×îºóÌá³öһЩjava± ......
#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 ......
#include <stdio.h>
#include <stdlib.h> //use malloc, free
#include <string.h> //use memset
#include <ctype.h> //use isdigit
#define ERROR_ILLEGAL_CHAR 1 //define error illegal character as 1
#define ERROR_NUMBERS_DIF 2 //define error numbers is not the same in diffe ......
1¡¢´ÓN¸öÊýÖÐÑ¡³ön¸ö×î´óµÄÊý£¬Ð´³ö˼·ºÍʵÏÖ¡£
ÏȶÁÈën¸ö£¬²¢ÇÒÅÅÐò£¬¶ÓÁУ¬¾ÍÊÇÓÐÐòµÄ¶ÓÁС£È»ºóÔÙÒ»¸ö¸ö¶Á£¬±È×î´óµÄÄǸö´óµÄʱºò¾ÍFIFO¡£
2¡¢Ð´³öÒ»¸öc/sͨѶ³ÌÐò£¬ÒªÇó·þÎñÆ÷¶ËÓ÷Ç×èÈûģʽ¡£
²»ÈóÊ飿²»ÈÃÉÏÍø£¿Ö±½Ó×§Ò»¾ä“ÄãYµ±ÎÒmanÎĵµ°¡£¿”
3¡¢TCP/UDPµÄÒìͬ¡£
È·ÈÏ»úÖÆ£¬²»ÖªµÀ»¹ÒªÎÊʲô£¬ ......
http://sculibin.bokee.com/5628909.html
1.ÒýÑÔ
¡¡¡¡±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
¡¡¡¡Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Ê ......