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
Ïà¹ØÎĵµ£º
ÔÚÍøÉÏÒ²¿´µ½ÁËһЩÌáÉý½ø³ÌÁîÅÆµÄº¯Êýµ«¶¼²»ÔõôºÃÓÃ,×îºóÎÒ»¹ÊÇ´ÓÒ»¸öºÚ¿ÍºóÃųÌÐòµÄÔ´´úÂëÖÐÌáÈ¡³öÁËÒ»¸öºÃµÄÌáÉý½ø³ÌÁîÅÆµÄº¯Êý,²»¸Ò¶ÀÏí,¸ú´ó¼Ò·ÖÏíÏÂ.ÄǸöºóÃÅÕæµÄдµÄºÜºÃ...
HysiaÌáʾÄã:
Õâ¸öº¯ÊýÓÃÔÚ¶Ô¸¶²¡¶¾µÄ³ÌÐòÖÐЧ¹ûºÜºÃ,Ö»ÓÐÌáÉý×ÔÉíȨÏÞ²ÅÄÜKILLµô²¡¶¾½ø³ÌÎÒÔøÐ´Ð´³öÀ´³¢ÊÔ½áÊøWinlogon½ø³Ì,µ¼ÖµĽṠ......
//Delphi²¿·Ö
//»Øµ÷º¯Êý¶¨Òå
type TOnMyCallBack = procedure(data:pchar; id:Integer);stdcall;
//DLLÖеĵ¼³öº¯ÊýÉùÃ÷
procedure StartCall(param: TOnMyCallBack(data:pchar; id:Integer);stdcall;
begin
...
...
end;
&n ......
Chr ½«Ò»¸öÓÐÐòÊý¾Ýת»»ÎªÒ»¸öANSI×Ö·û
Ord ½«Ò»¸öÓÐÐòÀàÐÍֵת»»ÎªËüµÄÐòºÅ
Round ת»»Ò»¸öʵÐÍֵΪËÄÉáÎåÈëºóµÄÕûÐÍÖµ
Trunc ת»»Ò»¸öʵÐÍֵΪСÊý½Ø¶ÏºóµÄÕûÐÍÖµ
Int ·µ»Ø¸¡µãÊýµÄÕûÊý²¿·Ö
IntToStr ½«Êýֵת»»Îª×Ö·û´ ......
32λDelphi³ÌÐòÖпÉÀûÓÃTRegistry¶ÔÏóÀ´´æÈ¡×¢²á±íÎļþÖеÄÐÅÏ¢¡£
¡¡¡¡Ò»¡¢´´½¨ºÍÊÍ·ÅTRegistry¶ÔÏó
¡¡¡¡1.´´½¨TRegistry¶ÔÏó¡£ÎªÁ˲Ù×÷×¢²á±í£¬Òª´´½¨Ò»¸öTRegistry¶ÔÏó£ºARegistry := TRegistry.Create£»
&n ......
ÓÐЩʱºò,ҪдһЩ³ÌÐò,ÔÚ JAVA ÀïÃæºÃÄÑʵÏÖ, µ«Èç¹ûʹÓÃÆäËü±à³ÌÓïÑÔÈ´ÓֱȽÏÈÝÒ×ʱ,ÎÒÃDz»·Áͨ¹ý JNI À´Èò»Í¬ÓïÑԵijÌÐò¹²Í¬Íê³É.
JNI µÄ½Ì³Ì, ÍøÉÏ C µÄ±È½Ï¶à,Java Ò²ÌṩÁË javah.exe Ϊ C ÓïÑ﵀ JNI ³ÌÐòÉú³ÉÍ·Îļþ, Èç¹ûÄãÊÇÒ»¸ö Delphi ±à³ÌÔ±, ÄÜ·ñÈà JAVA Óë Delphi ³ÌÐò½»»¥ÄØ? ´ð°¸Êǿ϶¨µÄ,½ñÌìÎÒÃǾÍÀ´ ......