Search code examples
c++windowsvisual-c++abi

MSVC function name mangling


In Linux, the GCC compiler does not add the return type to the mangled name of a function, not causing an ABI incompatibility error in cases that a major version changes. Because of this, I usually use a abi_tag in a inline namespace depending on the major version to force this kind of behavior.

How MSVC2017 mangle function names in Windows? I need to add something similar to abi_tag in the inline namespace to replicate this behavior?


Solution

  • MSVC mangled names include the return type. See Visual C++ name mangling for gory details.