Gå til innhold

hvordan funker __stdcall?


Anbefalte innlegg

Videoannonse
Annonse
Akai.

 

Stdcall brukes for Windows API-et primært. Det den gjør, er å fortelle compileren at det er den kallende funksjonen som skal rydde opp etter funksjonen som blir kalt, og alle parameter blir gitt på stack fra høyre mot venstre.

 

 

"og alle parameter blir gitt på stack fra høyre mot venstre." Dette har jeg lest om ja. Og jeg prøver å forstå hvorfor det er en fordel. Er det for at det andre som har blitt pushet på stacken ikke skal bli flyttet ned på en måte? Når er det forresten lurt å bruke __stdcall?

 

Håper du gidder å svare. Veit at jeg er "noob" på c++ :p

Lenke til kommentar

En tar det fra høyre mot venstre på grunn av hvordan det havner på stacken. Hvis du dytter ting på stack ville [0] vært det siste parameteret dersom en tok det fra venstre mot høyre.

 

Det er lurt å bruke stdcall når du skal gi funksjonen din til Windows. Så WinMain må være stdcall, WndProc, callback funksjoner osv.

 

Men stort sett trenger du ikke tenke på det. Du skal få feilmelding dersom funksjonen din har feil call type.

Lenke til kommentar
En tar det fra høyre mot venstre på grunn av hvordan det havner på stacken. Hvis du dytter ting på stack ville [0] vært det siste parameteret dersom en tok det fra venstre mot høyre.

 

Det er lurt å bruke stdcall når du skal gi funksjonen din til Windows. Så WinMain må være stdcall, WndProc, callback funksjoner osv.

 

Men stort sett trenger du ikke tenke på det. Du skal få feilmelding dersom funksjonen din har feil call type.

 

Takk for svar GeirGrusom!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...