Mi stdcall és mit eszik

a könyvben meg van írva, hogy ha a juzat stdcall rutinok Delphi dll kell használni más nyelveken.

Ez azt jelenti, hogy a paramétereket a funkció vezetjük át az oszlopon (visszafelé, vagyis az első helyezett a verem utolsó), és a funkciót is kell engednie a halom ezek a paraméterek (összehangolni a stack)


> És még?

Az eljárás / függvény - egy darab kódot, és lehetőség van arra, hogy adja át paramétereket. A legtöbb esetben a lehetőség - ez a darab információ. Ezek a darabok átvihetők különböző módokon, például a regiszter (regiszter, fastcall) vagy a verem (stdcall). Ugyancsak fontos az, hogy a átadott paraméterek. Szükséges, hogy a paramétereket továbbítja ugyanúgy, ahogy készülnek a rutin. Ehhez jön minden ilyen megállapodásokat. A Delphi az alapértelmezett paramétereket keresztül átadott nyilvántartások, ott gyorsan. De más nyelveken is lehet, amit szeret.
Ha szüksége van kompatibilitást a különböző nyelvek között, majd tovább. használja stdcall.

Különösen figyelembe véve a tényt, hogy a Win32 megállapodás stdcall elfogadott szabvány API-funkciókat.

> Ezek a bitek átvihető különböző módokon, például a nyilvántartásból
> (Register, fastcall) vagy a verem (stdcall).
Ez nem igaz. Tulajdonképpen, nem egészen igaz. Ahogy akkor átmennek a nyilvántartások tíz paramétert? Igen és nem paraméterek meghatározása nyilvántartás vsyakogotipa közvetített. Ezért igyekszik átadni az első nyilvántartásba több paramétert a nyilvántartásokban, de egyébként működik, stkek.

# XA0; hívási konvenció nagyon különböző paraméterek átutalási megbízás - jobbról balra, vagy fordítva, balról jobbra, akkor van, vagy az első, vagy az utolsó paramétert, valamint azok, akik a verem tetején - a hívó fél vagy a hívott eljárás visszaállítja a köteget a hívás befejezése után nyomja ki belőle, mielőtt a felvett paramétereket.

Itt :) Ez nekem több. kell még többet mondani, hogy ebben az esetben, mint regiszter eltér fastcall és miért általánosan használt stdcall.

ott továbbra is szükségük van rám több, mint valaha.

stdcall, mert az ablakok a C és C mivel annak érdekében, hogy adja át a funkciót lehet nemeryannom paramétereket.

inkább az egyes számot.

tada nem tudom. Mindig gondoltam. tiszta spekuláció. Nem sishnik.

Kapcsolódó cikkek