c++ – What does @ mean after a function name in C ++?

Question:

For example, the WinMain@16 . What does "dog" and the number after it mean? I have an idea that this is the total size of the parameters in bytes, but I'm not sure about that.

Answer:

You cannot overload functions in C, so when the code is compiled, the compiler can use the function names as intended. In C ++, functions can be overloaded, but the compiled code no longer contains information about the arguments. Therefore, the compiler does "mangle". In this case, it simply encodes the size of the arguments and adds them that way. This allows the linker to collect everything correctly into an executable file.

A little more .

Scroll to Top