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

Delphi Ñ­»·µÄÃØÃÜ

¼¼Êõ½»Á÷,DH½²½â. ¹þ¹þ,ÎÒ³ÐÈÏÎÒÊDZêÌâµ³.
×î½ü¿´ÌìÊéÒ¹¶ÁÀïÃæÊǶÔCÓïÑԵĴúÂë·´»ã±à,²»´í,¿ÉϧDelphiûÓÐÕâÑùµÄÊé,ÄÇÎÒÃÇ×Ô¼º¶¯ÊÖ°É.
Ê×ÏȽøÈëForÑ­»·ÁË. Function TestFor( a, b: Integer ): Integer ;
Var
I: Integer ;
Begin
Result := a + b ;
For I := 0 To 49 Do
Result := Result + I ;
End ;
{$R *.dfm}
Procedure TForm1.btn1Click( Sender: TObject ) ;
Begin
ShowMessage( IntToStr( TestFor( 1, 2 ) ) ) ;
End ;
·´»ã±à´úÂë:
Unit4.pas.28: Result := a + b ;
00523AE0 03D0 add edx,eax //Ö´ÐÐa+b,µ«ÊÇÎ񼆮æ¹ÖΪʲô²»ÓÃadd eax,edx ÕâÑù×îºó¾Í²»ÓÃÖ´ÐÐÄǾämov eax,edxÁË,½ÚÔ¼Ò»¾ä
Unit4.pas.29: For I := 0 To 49 Do
00523AE2 33C0 xor eax,eax //Çå³ýeax,À´³äµ±IÕâ¸öÑ­»·±äÁ¿
Unit4.pas.30: Result := Result + I ;
00523AE4 03D0 add edx,eax //ÀۼƺÍ,²¢°ÑÑ­»·±äÁ¿+1,ÕâÀï¾ÍÊÇÑ­»·ÌåµÄÖ´ÐдúÂë
00523AE6 40 inc eax
Unit4.pas.29: For I := 0 To 49 Do
00523AE7 83F832 cmp eax,$32 //±ß½ç±È½Ï,²»µÈÓÚ¾ÍÌø»ØÈ¥,¼ÌÐøÖ´ÐÐÑ­»·Ìå´úÂë.
00523AEA 75F8 jnz $00523ae4 //¿´À´»¹ÊÇÔÙд¸öº¯ÊýÀ´¿´¿´
Unit4.pas.31: End ;
00523AEC 8BC2 mov eax,edx
00523AEE C3 ret
¶Ô±ÈÊéÖÐCµÄ·´»ã±à´úÂë,Delphi·´»ã±à³öÀ´µÄ´úÂëºÜ¾«¼ò,ËäÈ»ÉùÃ÷Á˾ֲ¿±äÁ¿,µ«ÊǺ¯ÊýÖ±½ÓÓüĴæÆ÷´úÌæÁË.ºÜºÃ.

ÊéÖÐCÑ­»·ÌåÏÈÖ±½ÓÓÃJmpÌø¹ýÈ¥ÓëÁÙ½ç±äÁ¿±È½Ï,È»ºóÔÙÀ´¿´ÊÇ·ñÖ´ÐÐÑ­»·Ìå,¶ø¸Ä±äÑ­»·±äÁ¿ËüÓÃÁËadd eax,1,È»ºóÔÙ°Ñeax´«¸øÕ»ÉÏÃæµÄI.

ºóÀ´ÎÒ³¢ÊԸijÉ0 to -1 Delphi±àÒëÆ÷»áʶ±ð³öÀ´,È»ºó²»»áÌí¼ÓÈκÎÑ­»·´úÂëµ½º¯ÊýÖÐÈ¥µÄ.

½ÓÏÂÀ´ÊÇdoÑ­»·,Ò²¾ÍÊÇRepeat
function TestRepeat(a,b:Integer):Integer ;
var
I:Integer;
begin
Result:=a + b;
I:=0;
repeat
Result:= Result + I;
Inc(I);
until I = 50;
end;
·´»ã±à´úÂë:
Unit4.pas.30: Result:=a + b;
00523AE0 03D0 add edx,eax
Unit4.pas.31: I:=0;
00523AE2 33C0 xor eax,eax
Unit4.pas.33: Result:= Result + I;
00523AE4 03D0 add edx,eax
Unit4.pas.34: Inc(I);
00523AE6 40 inc eax
Unit4.pas.35: until I = 50;
00523AE7 83F832


Ïà¹ØÎĵµ£º

[Delphiº¯Êý]ÌáÉý½ø³ÌȨÏÞΪDEBUGȨÏÞ

ÔÚÍøÉÏÒ²¿´µ½ÁËһЩÌáÉý½ø³ÌÁîÅÆµÄº¯Êýµ«¶¼²»ÔõôºÃÓÃ,×îºóÎÒ»¹ÊÇ´ÓÒ»¸öºÚ¿ÍºóÃųÌÐòµÄÔ´´úÂëÖÐÌáÈ¡³öÁËÒ»¸öºÃµÄÌáÉý½ø³ÌÁîÅÆµÄº¯Êý,²»¸Ò¶ÀÏí,¸ú´ó¼Ò·ÖÏíÏÂ.ÄǸöºóÃÅÕæµÄдµÄºÜºÃ...
HysiaÌáʾÄã:
Õâ¸öº¯ÊýÓÃÔÚ¶Ô¸¶²¡¶¾µÄ³ÌÐòÖÐЧ¹ûºÜºÃ,Ö»ÓÐÌáÉý×ÔÉíȨÏÞ²ÅÄÜKILLµô²¡¶¾½ø³ÌÎÒÔøÐ´Ð´³öÀ´³¢ÊÔ½áÊøWinlogon½ø³Ì,µ¼ÖµĽṠ......

VCÖе÷ÓÃDelphiµÄDLLÖеĻص÷º¯ÊýÀý×Ó

//Delphi²¿·Ö  
 //»Øµ÷º¯Êý¶¨Òå
type TOnMyCallBack = procedure(data:pchar; id:Integer);stdcall;  
 //DLLÖеĵ¼³öº¯ÊýÉùÃ÷
procedure StartCall(param:   TOnMyCallBack(data:pchar; id:Integer);stdcall;  
begin
  ...  
  ...  
end;  
&n ......

DelphiÀàÐÍת»»

Chr ½«Ò»¸öÓÐÐòÊý¾Ýת»»ÎªÒ»¸öANSI×Ö·û  
Ord ½«Ò»¸öÓÐÐòÀàÐÍֵת»»ÎªËüµÄÐòºÅ  
Round ×ª»»Ò»¸öʵÐÍֵΪËÄÉáÎåÈëºóµÄÕûÐÍÖµ  
Trunc ×ª»»Ò»¸öʵÐÍֵΪСÊý½Ø¶ÏºóµÄÕûÐÍÖµ  
Int ·µ»Ø¸¡µãÊýµÄÕûÊý²¿·Ö  
IntToStr ½«Êýֵת»»Îª×Ö·û´ ......

ÔÚDelphi³ÌÐòÖвÙ×÷×¢²á±í(ת)

   32λDelphi³ÌÐòÖпÉÀûÓÃTRegistry¶ÔÏóÀ´´æÈ¡×¢²á±íÎļþÖеÄÐÅÏ¢¡£     
  ¡¡¡¡Ò»¡¢´´½¨ºÍÊÍ·ÅTRegistry¶ÔÏó  
   
  ¡¡¡¡1.´´½¨TRegistry¶ÔÏó¡£ÎªÁ˲Ù×÷×¢²á±í£¬Òª´´½¨Ò»¸öTRegistry¶ÔÏó£ºARegistry   :=   TRegistry.Create£»  
&n ......

java µ÷Óà delphi±àдµÄdll


ÓÐЩʱºò,ҪдһЩ³ÌÐò,ÔÚ JAVA ÀïÃæºÃÄÑʵÏÖ, µ«Èç¹ûʹÓÃÆäËü±à³ÌÓïÑÔÈ´ÓֱȽÏÈÝÒ×ʱ,ÎÒÃDz»·Áͨ¹ý JNI À´Èò»Í¬ÓïÑԵijÌÐò¹²Í¬Íê³É.
JNI µÄ½Ì³Ì, ÍøÉÏ C µÄ±È½Ï¶à,Java Ò²ÌṩÁË javah.exe Ϊ C ÓïÑ﵀ JNI ³ÌÐòÉú³ÉÍ·Îļþ, Èç¹ûÄãÊÇÒ»¸ö Delphi ±à³ÌÔ±, ÄÜ·ñÈà JAVA Óë Delphi ³ÌÐò½»»¥ÄØ? ´ð°¸Êǿ϶¨µÄ,½ñÌìÎÒÃǾÍÀ´ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ