What is the difference between __stdcall
and _stdcal
? And what is logic at all by putting variable counter of _
mark?
There is no identifier or keyword named _stdcal
. However, the MSVC compiler accepts both _stdcall
and __stdcall
, one or two underscores.
The single underscore is there because the language specification requires it. Vendor specific identifiers in the global namespace or non-standard keywords must be prefixed by an underscore.
The double underscore is there because a vendor forever loses the battle with programmers that think they should use a leading underscore themselves in their own code. Also present in other non-standard keywords, like __interface
and __m128
. And in other compilers, like gcc's __attribute__
. Clearly you'll want to use the documented version, two underscores.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With