5

DLL 符号中的数字 16_FooBar@16代表什么?

4

2 回答 2

8

这意味着 _FooBar 是一个 __stdcall 函数,它需要 16 个字节的参数。

此处描述了 x86 上的 32 位调用约定:http: //blogs.msdn.com/oldnewthing/archive/2004/01/08/48616.aspx

于 2009-05-27T00:25:48.797 回答
5

这是通用名称修饰,取决于函数的调用约定。

应用于函数的各种调用约定和名称修改记录为参数传递和命名约定。您必须单击各个链接才能查看应用的确切修改。

在您的情况下,您有一个__stdcall使用以下命名约定的约定:

名称前加下划线 (_)。名称后跟 at 符号 (@),后跟参数列表中的字节数(十进制)。因此,声明为 int func( int a, double b ) 的函数修饰如下: _func@12

于 2009-05-27T00:25:58.390 回答