ÔÚJavaÖе÷ÓÃC++
ÔÚjavaÖе÷ÓÃ×Ô¼ºµÄc++´úÂëÊÇÒ»¼þ¼òµ¥µÄÊÂÇ飬ÒÔÏÂÀàΪÀý£º
class Prompt {
private native String getLine(String prompt);
public static void main(String args[]) {
Prompt p = new Prompt();
String input = p.getLine("Type a line: ");
System.out.println("User typed: " + input);
}
static {
System.loadLibrary("MyImpOfPrompt");
}
}
ÎÒÃÇÏ£ÍûÔÚPromptÀàÖпÉÒÔµ÷ÓÃc++ϵÄgetLineº¯Êý£¬µÚÒ»²½¾ÍÊÇÏȱàÒë¸ÃjavaÎļþ£º
javac Prompt.java
´ËʱӦ¸ÃÒѾÉú³ÉÁËPrompt.classÎļþ£¬È»ºóʹÓÃÃüÁ
javah -jni Prompt
¼´¿ÉÉú³ÉÏàÓ¦µÄ.hÎļþ£¬ÆäÄÚÈÝΪ£º
JNIEXPORT jstring JNICALL
Java_Prompt_getLine(JNIEnv *, jobject, jstring);
ÊÂʵÉÏJavaµ÷ÓÃc++Ö»ÐèÒªÂú×ãÒ»¸ö½Ó¿ÚÃüÃû¹æ·¶¼´¿É£¬¶øjavah -jniÃüÁîÔòΪ¿ìËÙÉú³É½Ó¿ÚÌṩÁË·½±ã¡£
×îºó£¬¼ÇµÃ½«ÄãµÄc++´úÂë±àÒëΪlibMyImpOfPrompt.so
¸üÏêϸµÄ¹æ·¶¼°²Ù×÷¿ÉÒԲμû
http://journals.ecs.soton.ac.uk/java/tutorial/native1.1/implementing/index.html
Ïà¹ØÎĵµ£º
1. ObjectInputStream Óë ObjectOutputStreamµÄ¶Áд¶ÔÏó¿ÉÒÔÒÔ¶ÔÓ¦µÄ˳Ðò½øÐжà¸ö¶ÔÏóµÄ¶Áд¡£
2. Break Loop label¡£ ÔÚÑ»·Óï¾äǰ¼ÓÉÏÒ»¸ölabel£¬Èçlabel1: È»ºóÔÚÑ»·ÌåµÄÓï¾äÖмÓÈëbreak label1£¬¼´¿ÉÌø³ö¸ÃÑ»·£¬ÎÞÂÛÆäÊÇÄÚ²ãÑ»·
»¹ÊÇÍâ²ãÑ»·¡£ ......
/**
* @param source: source image file
* @param output: output image file
* @param mode: 0 ratio,1 maxWidth,2 maxHeight,3 maxSide
* @param maxSide: maxWidth, maxHeight or maxSide, different by mode
* @param ratio: ratio if resized by ratio
*/
public static void resizeImage(File ......
native2ascii.exe ÊÇ Java µÄÒ»¸öÎļþתÂ빤¾ß£¬Êǽ«ÌØÊâ¸÷ÒìµÄÄÚÈÝ ×ªÎª ÓÃÖ¸¶¨µÄ±àÂë±ê×¼ÎÄÌåÐÎʽͳһµÄ±íÏÖ³öÀ´£¬Ëüͨ³£Î»ÓÚ JDK_home\bin Ŀ¼Ï£¬°²×°ºÃ Java SE ºó£¬¿ÉÔÚÃüÁîÐÐÖ±½ÓʹÓà native2ascii ÃüÁî½øÐÐתÂ룬ʾÀý£º
native2ascii -encoding 8859_1 c:\test.txt c:\temp.txt
½« test.txt ÎļþÄÚÈÝÓà 8859_1 × ......
¸ö ÈË ¼ò Àú
ÐÕ Ãû£º
ÍõÖ¾¹ú
ÐÔ ±ð£º
ÄÐ
Äê Á䣺
23Ëê
ÁªÏµµç»°£º
13124799190
ר Òµ£º
¼ÆËã»ú¼¼Êõ
¹¤×÷ʱ¼ä£º
Ò»ÄêÒÔÉÏ
ѧ Àú£º
´óר
ÓÊ Ï䣺
andy478168@yeah.net
¡ï ÇóÖ°ÒâÏò
¹¤×÷ÐÔÖÊ ......