Knut_F Skrevet 31. august 2009 Del Skrevet 31. august 2009 Jeg har ikke helt fått med meg hvordan den funker, når man bruker det, og hvorfor! Noen som kan forklare? Lenke til kommentar
Knut_F Skrevet 31. august 2009 Forfatter Del Skrevet 31. august 2009 __stdcall på MSDN Msdn har stort sett fungert greit ja. Men fikk ikke så mye ut av det denne gangen Lenke til kommentar
GeirGrusom Skrevet 31. august 2009 Del Skrevet 31. august 2009 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. Lenke til kommentar
Knut_F Skrevet 31. august 2009 Forfatter Del Skrevet 31. august 2009 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++ Lenke til kommentar
GeirGrusom Skrevet 31. august 2009 Del Skrevet 31. august 2009 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
Knut_F Skrevet 31. august 2009 Forfatter Del Skrevet 31. august 2009 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå