dumpbin导出输出中的@number是什么

ric*_*h p 3 c++ windows dll export dumpbin

使用DUMPBIN在C++ .DLL(或IMPLIB .LIB文件)与/输出或/进口我看到的语法中,如以下的输出:

Exports

ordinal    name

      _CloseConduit@4
      _ConduitPort
      _GetConduitVersion@4
      _GetStatusConduit@8
      _GetTimeout@0
      _OpenConduit@4
Run Code Online (Sandbox Code Playgroud)

我无法找到@n指定含义的定义.我最后得出结论,它是参数数据的字节数,但是根据一些例子的推断,它让我有点紧张.任何人都可以指向一个参考,或者与任何权威人士说,这里的数字是什么意思?

gre*_*olf 6

您的结论是正确的,@n表示函数参数的字节数.您可以在此处此处找到相关的MSDN文档.

特别是,这就是MSVC如何extern "C" __stdcall在C++中修饰函数.请注意,这在技术上是实现定义的,而其他编译器确实以不同的方式装饰它.

例如,MinGW-gcc在没有前导下划线的情况下装饰它.Embarcadero的编译器(以前称为Borland)根本不装饰__stdcall函数,而Digital Mar的编译器使用与MSVC相同的装饰方案.