Delphi±àд±ä³¤²ÎÊýµÄcdeclº¯Êý
ÎÄÕÂÀ´×Ô£ºhttp://hi.baidu.com/523399/blog/item/f36e2e9b25041fbdc9eaf4c6.html
ѧ¹ýCÓïÑÔµÄÈ˶¼ÖªµÀ£¬printfµÄ²ÎÊýÊDz»¹Ì¶¨µÄ£¬ÕâÖÖ²ÎÊýÐÎʽ½Ð×ö±ä³¤²ÎÊý¡£´øÓб䳤²ÎÊýµÄº¯Êý±ØÐëÊÇcdeclµ÷ÓÃÔ¼¶¨£¬Óɺ¯ÊýµÄµ÷ÓÃÕßÀ´Çå³ýÕ»£¬²ÎÊýÈëÕ»µÄ˳ÐòÊÇ´ÓÓÒµ½×ó¡£printfÊǸù¾Ý¸ñʽ»¯´®ÖеÄռλ±ê¼ÇÀ´²Â²âÕ»ÖеIJÎÊýµÄ¡£ÒÔϾÍÓÃDelphiÄ£ÄâÒ»¸ö¼òµ¥µÄÀàËÆprintfµÄº¯Êýsprintf¡£
type
VA_FN = function(const par1, par2{, ...}: Pointer): Integer; cdecl varargs;
procedure CvtInt;
{ IN:
EAX: The integer value to be converted to text
ESI: Ptr to the right-hand side of the output buffer: LEA ESI, StrBuf[16]
ECX: Base for conversion: 0 for signed decimal, 10 or 16 for unsigned
EDX: Precision: zero padded minimum field width
OUT:
ESI: Ptr to start of converted text (not start of buffer)
ECX: Length of converted text
}
asm
OR CL,CL
JNZ @CvtLoop
@C1: OR EAX,EAX
JNS @C2
NEG EAX
CALL @C2
MOV AL,'-'
INC ECX
DEC ESI
MOV [ESI],AL
RET
@
Ïà¹ØÎĵµ£º
´ËÎÄÊʺÏDelphiÐÂÊÖÔĶÁ£¬ÌرðÊÇÁ¬½ÓÊý¾Ý¿â·½Ã滹һ¶®°ë¶®ÉõÖÁ¸ù±¾²»¶®µÄÐÂÊÖ£»
--------------------------µ«×ÜÌåÏÔµÃÓеãÂÒ-------------------------
±¾ÎÄÕÂÒÔDelphi 7ºÍSQL Server 2000ΪÀý£¬¿Ø¼þÃû¾ùΪϵͳĬÈÏ£¬ÈçUnit1,DataModule1,Edit1,ADOCommand1,ADODataS ......
Delphi µÄ×Ö·û¼°×Ö·û´®[1] - string¡¢AnsiString¡¢WideString¡¢String[n]¡¢ShortString
2008-10-17 14:57:17
//×î³£ÓÃµÄ string
var
str: string; {¶¨Òå}
begin
str := 'ÍòÒ»'; {¸³Öµ}
ShowMessage(IntToStr(Length(str))); {³¤¶ÈÊÇ: 4}
end;
//³¤×Ö·û´® AnsiString; ÔÚµ±Ç°°æ± ......
Ò»¸öºÜ¼òµ¥µÄÎÊÌ⣬µ«ÎÒÆ¾ÎÒѧϰC++/VCÒ»Äê¶à£¬½Ó´¥DelphiµÄʱ¼äÒ²²»¶ÌÁË£¬µ«ÈÔȻд²»³öÀ´¡£
±¾À´ÒÔΪ£¬²»¾ÍÊǽ«Form1.ShowºÍForm1.Hideô£¬µ«È´¾ÍÊÇ´ïµ½²»µ½×Ô¼ºÏëÒªµÄ½á¹û
Õâ¸öÎÊÌâµ¹²»ÓÃ×÷ÉîÈëÑо¿ÁË£¬µ½ÊÇÈÃÎÒ·¢ÏÖ£¬DelphiÒ²²»ÊÇÐÅÊÖÕªÀ´£¬Ê²Ã´¶¼ÊÇÄÇôÈÝÒ׵ģ¬ÒÔΪ×Ô¼ºÓеã¶ùVCµÄµ××Ó£¬¾ÍС¿´ÁËDelphi¡£
×î½üÒ»¶Îʱ ......
Delphi Óë C/C++ Êý¾ÝÀàÐͶÔÕÕ±í
DelphiÊý¾ÝÀàÐÍC/C++
ShorInt
8λÓзûºÅÕûÊý
char
Byte
8λÎÞ·ûºÅÕûÊý
BYTE,unsigned short
SmallInt
16λÓзûºÅÕûÊý
short
Word
16λÎÞ·ûºÅÕûÊý
unsigned short
Integer,LongInt
32λÓзûºÅÕûÊý
int,long
Cardinal,LongWord/DWORD
32λÎÞ·ûºÅÕûÊý
unsigned long
Int6 ......