Well you usually see it when dealing with functions that are exported/imported, right?
Different languages generate different kind of code and concerning functions some push the prameters starting with the leftmost, others starts pushing from the rightmost parameter.
And that's what _stdcall handles. It ensures the parameters in the function signature are pushed in a well-defined behavior (from right to left).
Trivia: The _pascal directive is the exact opposite...
/Per
"It was a work of art, flawless, sublime. A triumph equaled only by its monumental failure."
void foo(int a, int b, int c, int d)
{
cout << a << b << c << d;;
}
....
foo(0x11,0x22,0x33,0x44);
Set a breakpoint at the line calling foo.
Open the dissasebly window (In VC6 : View->Debug Windows->Dissasebly)
You'll see a whole lot of pushing there, like
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.