ͨ¹ý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ѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
ÃæÏò¶ÔÏóµÄÈý´óÌØÕ÷£º·â×°¡¢¼Ì³Ð¡¢¶à̬¡£
javaÖеķâ×°
·â×°£¬Ò»¸ö¶ÔÏóºÍÍâ½çµÄÁªÏµÓ¦µ±Í¨¹ýÒ»¸öͳһµÄ½Ó¿Ú£¬Ó¦µ±¹«¿ªµÄ¹«¿ª£¬Ó¦µ±Òþ²ØµÄÒþ²Ø¡££¨¶ÔÏóµÄÊôÐÔÓ¦µ±Òþ²Ø£©£¬Ò»¸ö¶ÔÏóµÄÄÚ²¿ÊÇ͸Ã÷µÄ£¬¾ÍÊǰѶÔÏóÄÚ²¿µÄ¿É͸Ã÷ÐÔºÍÒþ²ØµÄÌØÐÔÇø·Ö¿ª£¬¸Ã͸Ã÷µÄ͸Ã÷£¬¸ÃÒþ²ØµÄÒþ²Ø¡£
£¨·â×°µÄÊôÐÔ£©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 ......
http://sculibin.bokee.com/5628909.html
1.ÒýÑÔ
¡¡¡¡±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
¡¡¡¡Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Ê ......
http://social.msdn.microsoft.com/Forums/en/sqltools/thread/07db294a-79e5-4a5a-916c-6a51e44a5aa4
http://www.pcreview.co.uk/forums/thread-211705.php
Download "MsiZap.exe" from http://support.microsoft.com/default.aspx?scid=kb;en-us;290301 ......