Javaµ÷ÓÃC/C++ – JNI
×òÌì²Å¿´µ½£¬µ«ÊÇÓöµ½Ò»Ð©ÎÊÌ⣬½ñÌì½â¾öÁË£¬¼ÇÏ¡¡£¨²Î¿¼£ºhttp://netbeans.org/kb/55/beginning-jni-part1.html£©
ÎÒÓõÄÊÇNetbeans 6.7£¬µ«ÊÇºÍÆäËûµÄÒ²Ó¦¸Ã´óͬСÒì°É¡£ »ù±¾Á÷³Ì£º JavaÕâ±ßµÄ£º
´´½¨javaÎļþ£¨´ønativeµÄ£©£¬»¹Òª¼ÇµÃÔÚÀàÖмÓÈ룺System.loadLibrary(xxx) ¡£
È»ºóÓÃjavahÀ´Éú³ÉC/C++µÄÍ·Îļþ£¨±ÈÈ磺javah –o pzc.h –jni –classpath ¡ pzjava.Main£©¡£ CÕâ±ßµÄ£º
×öÒ»¸ö¡°Öмä²ã¡±µÄC»òÕßC++Îļþ£¬include¸Õ²ÅÉú³ÉµÄÍ·Îļþ£¬°Ñ·½·¨¸´ÖÆÏÂÀ´¡£
»¹Òª¼ÇµÃ°Ñ%JAVA_HOME%\include\ºÍ%JAVA_HOME%\include\win32Ìí¼Óµ½±àÒëÆ÷µÄÍ·ÎļþËÑË÷·¾¶ÖУ¨»¹ÒªÌí¼ÓÉϸոÕÉú³ÉµÄÍ·ÎļþµÄËÑË÷·¾¶£© ¡£
ҪעÒâÉèÖúñàÒëÆ÷Êä³öµÄ¶¯Ì¬¿âÎļþÃû£¬ÒªºÍloadLibraryÖеÄÒ»Ö£¨ÔÚWindowsÏÂÈç¹ûxxxÊÇ"pzc¡±£¬ÄÇÊä³öµÄ¾ÍÊÇpzc.dll£¬Èç¹ûÊÇlinux£¬¾ÍÊÇlibpzc.so£©¡£
»¹Òª×¢ÒâÉèÖñàÒëÆ÷µÄÆäËû²ÎÊý£¬È磺--add-stdcall-alias£¨ÔÚWindowsÏÂÐèÒª£©£¨²é¿´gccÊÖ²á¾ÍÖªµÀËüµÄÒâ˼£©¡£
±àÒëºÃdllºó°Ñdll¸´ÖƵ½javaÏîÄ¿¿Õ¼ä¾ÍÐÐÁË¡£ ÓÐʱgccÑ¡ÏҪ¼Ó-m32£¬°´ÕÕÔÎÄËù˵µÄ£¬Òâ˼Ӧ¸ÃÊÇ£¬Èç¹ûÊÇÔÚ64λµÄ»úÆ÷ÉÏÏëÒª°Ñdll±àÒë³É32λµÄ»°£¬ÄǾÍÒª¼ÓÉÏÕâ¸öÑ¡Ïî¡£
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
javaÖеÄʼþ»úÖÆµÄ²ÎÓëÕßÓÐ3ÖÖ½ÇÉ«£º
1.event object£º¾ÍÊÇʼþ²úÉúʱ¾ßÌåµÄ“ʼþ”£¬ÓÃÓÚlistenerµÄÏàÓ¦µÄ·½·¨Ö®ÖУ¬×÷Ϊ²ÎÊý£¬Ò»°ã´æÔÚÓëlisternerµÄ·½·¨Ö®ÖÐ
2.event source£º¾ßÌåµÄ½ÓÊÜʼþµÄʵÌ壬±ÈÈç˵£¬Äãµã»÷Ò»¸öbutton£¬ÄÇôbutton¾ÍÊÇevent source£¬ÕâÑùÄã±ØÐëʹbutton¶ÔijЩʼþ½øÐÐÏàÓ¦£¬Äã¾ÍÐè ......
import java.net.URL;
import java.net.URLDecoder;
public class PathUtil
{
/**
* Get the env of windir, such as "C:\WINDOWS".
* @return the env of windir value.
*/
public static String getWindir(){
return System.getenv("windir");
}
......
CÓïÑԺ궨ÒåʵÓÃ×ܽá
ºê¶¨ÒåÁËÒ»¸ö´ú±íÌØ¶¨ÄÚÈݵıêʶ·û¡£
Ô¤´¦Àí¹ý³Ì»á°ÑÔ´´úÂëÖгöÏֵĺê±êʶ·ûÌæ»»³Éºê¶¨ÒåʱµÄÖµ¡£
ºê×î³£¼ûµÄÓ÷¨ÊǶ¨Òå´ú±íij¸öÖµµÄÈ«¾Ö·ûºÅ¡£
ºêµÄµÚ¶þÖÖÓ÷¨ÊǶ¨Òå´ø²ÎÊýµÄºê£¬ÕâÑùµÄºê¿ÉÒÔÏóº¯ÊýÒ»Ñù±»µ÷Ó㬵«ËüÊÇÔÚµ÷ÓÃÓï¾ä´¦Õ¹¿ªºê£¬²¢Óõ÷ÓÃʱµÄʵ¼Ê²ÎÊýÀ ......