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

ÓÃDelphi¿ª·¢JNI(Java+Native+Interface)Ó¦ÓÃ

JNI(Java+Native+Interface£¬Java±¾µØ½Ó¿Ú)¼¼Êõ´ó¼Ò¶¼²»Ä°Éú£¬Ëü¿ÉÒÔ°ïÖú½â¾öJava·ÃÎʵײãÓ²¼þµÄ¾ÖÏÞºÍÖ´ÐÐЧÂʵÄÌá¸ß¡£¹ØÓÚJNIµÄ¿ª·¢£¬´ó¶àÊý×ÊÁÏÌÖÂ۵ͼÊÇÈçºÎÓÃC/C++ÓïÑÔ¿ª·¢JNI£¬ÉõÖÁÓÚJDKÒ²ÌṩÁËÒ»¸öjavah¹¤¾ßÀ´×Ô¶¯Éú³ÉCÓïÑÔ³ÌÐò¿ò¼Ü¡£µ«ÊÇ£¬¶ÔÓÚ¹ã´óµÄDelphi³ÌÐòÔ±À´Ëµ£¬ÄѵÀ¾Í²»ÄÜÓÃ×Ô¼ºÏ²°®µÄDelphiÓëJava»¥Í¨ÏûÏ¢ÁËÂ𣿭
¡¡¡¡Í¨¹ý¶ÔjavahÉú³ÉµÄC³ÌÐò¿ò¼ÜºÍJDKÖеÄjni.hÎļþµÄ·ÖÎö£¬ÎÒÃÇ·¢ÏÖ£¬JavaÀûÓÃJNI·ÃÎʱ¾µØ´úÂëµÄ¹Ø¼üÔÚÓÚjni.hÖж¨ÒåµÄJNINativeInterface_Õâ¸ö½á¹¹(Struct)£¬Èç¹ûÓÃDelhpiÓïÑÔ¸ÄдËüµÄ¶¨Ò壬Ӧ¸ÃÒ²¿ÉÒÔ¿ª·¢JNIµÄ±¾µØ´úÂë¡£ÐÒÔ˵ÄÊÇ£¬ÔÚÍøÉÏÓÐÏֳɵĴúÂë¿ÉÒÔ°ïÖúÄãÍê³ÉÕâ¸ö·±ÔӵŤ×÷£¬ÔÚhttp://delphi-jedi.orgÉÏÌṩÁËÒ»¸öjni.pasÎļþ£¬¾ÍÊÇÓÃDelphiÓïÑÔÖØÐ´µÄjni.h¡£ÎÒÃÇÖ»ÐèÔÚ×Ô¼ºµÄDelphi¹¤³ÌÖмÓÈëjni.pas¾Í¿ÉÒÔ·½±ãµØ¿ª·¢³ö»ùÓÚDelphiÓïÑÔµÄJNI±¾µØ´úÂë¡£­
¡¡¡¡¡¡¡¡±¾ÎĽ«ÀûÓÃjni.pas£¬ÌÖÂÛÓÃDelphiÓïÑÔ¿ª·¢JNI±¾µØ´úÂëµÄ»ù±¾·½·¨¡£­
­
ÏÈÀ´¿´Ò»¸ö¾­µäµÄHelloWorldÀý×Ó¡£±àдÒÔÏÂJava´úÂ룺­
­
class+HelloWorld­

public+native+void+displayHelloWorld();+­
static­

System.loadLibrary("HelloWorldImpl");+­


­
¡¡¡¡Õâ¶Î´úÂëÉùÃ÷ÁËÒ»¸ö±¾µØ·½·¨displayHelloWorld£¬ËüûÓвÎÊý£¬Ò²Ã»Óзµ»ØÖµ£¬µ«ÊÇÏ£ÍûËüÄÜÔÚÆÁÄ»ÉÏ´òÓ¡³ö“ÄúºÃ£¡Öйú¡£”×ÖÑù¡£Õâ¸öÈÎÎñÎÒÃÇ´òËã½»¸øÁ˱¾µØµÄDelphiÀ´ÊµÏÖ¡£Í¬Ê±£¬ÔÚÕâ¸öÀàµÄ¾²Ì¬ÓòÖУ¬ÓÃSystem.loadLibrary()·½·¨×°ÔØHelloWorldImpl.dll¡£×¢Ò⣬ÕâÀïÖ»ÐèÒª¸ø³öÎļþÃû¶ø²»ÐèÒª¸ø³öÀ©Õ¹Ãûdll¡£­
¡¡¡¡Õâʱºò£¬Èç¹ûÔÚÎÒÃǵÄJava³ÌÐòÖÐʹÓÃHelloWorldÀàµÄdisplayHelloWorld·½·¨£¬ÏµÍ³½«Å׳öÒ»¸öjava.lang.UnsatisfiedLinkErrorµÄ´íÎó£¬ÒòΪÎÒÃÇ»¹Ã»ÓÐΪËüʵÏÖ±¾µØ´úÂë¡£­
¡¡¡¡ÏÂÃæÔÙ¿´Ò»ÏÂÔÚDelphiÖеı¾µØ´úÂëµÄʵÏÖ¡£Ð½¨Ò»¸öDLL¹¤³Ì£¬¹¤³ÌÃûΪHelloWorldImpl£¬ÊäÈëÒÔÏ´úÂ룺­
­
Uses­
JNI;+­
procedure+Java_HelloWorld_displayHelloWorld(PEnv:+PJNIEnv;+Obj:+JObject);+stdcall;+­
begin­
Writeln('ÄúºÃ£¡Öйú¡£');+­
end;+­
exports­
Java_HelloWorld_DisplayHelloWorld;+­
end.­
­
¡¡¡¡Õâ¶Î´úÂëÊ×Ïȵ¼Èëjni.pasµ¥Ôª¡£È»ºóʵÏÖÁËÒ»¸ö½ÐJava_HelloWorld_displayHelloWorldµÄ¹ý³Ì£¬Õâ¸ö¹ý³ÌµÄÃüÃû


Ïà¹ØÎĵµ£º

¶À¼Ò£º³ÌÐòÔ±±Ø±¸Java APIºÍÀàËÑË÷¸¨Öú¹¤¾ß·¢²¼

Òý×Ô:http://news.csdn.net/a/20090623/212109.html
   ¡¾CSDN6ÔÂ23ÈÕÏûÏ¢¡¿¸ù¾Ý¹úÍâýÌ屨µÀ£¬¿¨ÄÍ»ù÷¡´óѧ¼ÆËã»úϵµÄÑо¿ÈËÔ±ÈÕǰ¿ª·¢ÁËÁ½¿î¹¤¾ßÓÃÓÚ°ïÖú³ÌÐòÔ±´Ó³ÉǧÉÏÍòµÄJava APIÖÐÑ¡ÔñºÏÊʵÄAPI¡£
ÕâÁ½¿î¹¤¾ßµÄÃû×Ö·Ö±ðÊÇJadeiteºÍApatite¡£ËüÃÇÀûÓÃÁËÒÔÈËΪÖÐÐĵÄÉè¼Æ¼¼Êõ£¬´Ó¶ø´ó´óËõ¶ÌÁËËÑѰºÏÊʵÄÀ ......

Java×Ö½ÚÐò

¡¡ÒÔ϶ÔBIG-ENDIAN¡¢LITTLE-ENDIANµÄ½âÊÍÕýºÃŪ·´ÁË£¡£¡£¡£¡
¡¡¡¡BIG-ENDIAN£¨´ó×Ö½ÚÐò¡¢¸ß×Ö½ÚÐò£©
¡¡¡¡LITTLE-ENDIAN£¨Ð¡×Ö½ÚÐò¡¢µÍ×Ö½ÚÐò£©
¡¡¡¡Ö÷»ú×Ö½ÚÐò
¡¡¡¡ÍøÂç×Ö½Ú˳Ðò
¡¡¡¡JAVA×Ö½ÚÐò
¡¡¡¡1£®BIG-ENDIAN¡¢LITTLE-ENDIAN¸ú¶à×Ö½ÚÀàÐ͵ÄÊý¾ÝÓйصıÈÈçint,short,longÐÍ£¬¶ø¶Ôµ¥×Ö½ÚÊý¾ÝbyteȴûÓÐÓ°Ïì¡£BIG- ......

ÀûÓÃjava·´Éä¼¼ÊõÌáÈ¡ÀàÐÅÏ¢

ÀûÓÃjava·´Éä¼¼ÊõÌáÈ¡ÀàÐÅÏ¢
  1 package day15;
  2 
  3 import java.lang.reflect.*;
  4 
  5 public class ReflectionTest {
  6 
  7     public& ......

JavaÍøÂç¼ÓÔØÐ­Ò飨JNLP£©

ÔÚjava¿ª·¢µÄÔçÆÚ£¬Öص㱻·ÅÔÚÁ˿ͻ§¶Ë¿ª·¢¡£ÓïÑÔÖжÔÓÚappletºÍ°²È«ÏÂÔØµÄÖ§³Ö
¶ÔÓÚÍòÎ¬Íø£¨WWW£©µÄ·¢²¼¿´ÉÏÈ¥ÊǸö²»´íµÄÖ÷Òâ¡£µ«ÊÇÏÖʵÊÇjava×î´óµÄ³É¹¦ÔÚÓÚ·þÎñÆ÷¶Ë£¬javaµÄÇ¿´ó¹¦ÄܺÍÊÊÓ¦ÐÔÓ®µÃÁË·þÎñÆ÷¶Ë¿ª·¢ÕßµÄÐÄ¡£Í¬Ê±£¬¿Í»§¶ËµÄ¿ª·¢ÂäºóÁË¡£¼¬ÊֵĿª·¢ÎÊÌâÏÞÖÆÁËappletµÄЧÓ㬿ª·¢Õß±»ÆÈתÏò»ùÓÚä¯ÀÀÆ÷µÄÊݿͻ§¶ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ