MSVC 函数名修饰

MSVC function name mangling

在 Linux 中,GCC 编译器不会将 return 类型添加到函数的错位名称中,不会导致 ABI 不兼容错误主要版本更改的情况。因此,我通常根据主要版本在 内联命名空间 中使用 abi_tag 来强制执行这种行为。

如何 MSVC2017 处理 Windows 中的函数名称?我需要在 内联命名空间 中添加类似于 abi_tag 的内容来复制此行为?

MSVC 损坏的名称包括 return 类型。有关详细信息,请参阅 Visual C++ name mangling