în carte este scris că, dacă rutina stdcall juzat scrise în dll Delfi pentru a fi utilizate în alte limbi.
Acest lucru înseamnă că parametrii la funcția sunt trecute prin stivă (în sens invers, adică, primul plasat pe stiva ultima), iar funcția în sine trebuie să elibereze stiva de acești parametri (pentru a alinia stiva)
> Și mai mult?
Procedura / Funcția - o bucată de cod și nu este posibil să se treacă parametrii. În cele mai multe cazuri, opțiunea - este o bucată de informație. Aceste piese pot fi transferate în diferite moduri, de exemplu prin intermediul registrului (registru, fastcall) sau stivă (stdcall). De asemenea, important este ordinea parametrilor transmiși. Este necesar ca parametrii sunt transmise în același mod în care acestea sunt făcute în rutina. Pentru a face acest lucru, să vină cu toate aceste acorduri. În Delphi, parametrii impliciți sunt trecute prin registre, acolo repede. Dar, în alte limbi poate fi orice doriți.
Dacă aveți nevoie de compatibilitate între diferite limbi, apoi pe. utilizați stdcall.
Mai ales având în vedere faptul că, în acord stdcall Win32 acceptat API-funcții standard.
> Acești biți pot fi transmise în diferite moduri, de exemplu prin intermediul registrului
> (Register, fastcall) sau stivă (stdcall).
Nu este adevărat. De fapt, nu este adevărat. Pe măsură ce vei trece prin registrele zece parametri? Da și nu prin intermediul parametrilor vsyakogotipa registru transmis. Prin urmare, încearcă să treacă primul registru mai mulți parametri prin intermediul unor registre, dar care funcționează prin stkek.
# XA0; apel convenție într-adevăr diferit ordin de transfer de parametri - de la dreapta la stânga sau invers de la stânga la dreapta, atunci există, sau este primul sau ultimul parametru, precum și cei care sunt pe partea de sus a stivei - apelantul sau procedura numită restaurează stiva după apelul prin împingerea din ea înainte de a înregistrat parametrii.
Aici :) Aceasta sunt eu mai mult. încă mai trebuie să-mi spui mai mult că acest caz decât registru diferă de fastcall și de ce frecvent utilizate stdcall.
pot exista în continuare nevoie de mine mai mult ca niciodată.
stdcall, pentru că ferestrele din C, și C, deoarece, în scopul de a trece la funcția poate fi parametrii nemeryannom.
mai degrabă numărul lor diferit.
Tada Nu știu. Întotdeauna m-am gândit acest lucru. speculație pură. Nu sishnik.