【发布时间】:2013-02-26 13:21:49
【问题描述】:
我在 Visual Studio 2010 中编写了一个包含大量函数和类的 .dll 库。 当我查看文件内容时:
dumpbin.exe /EXPORTS myDll.dll
我得到带有某种函数位置指针的长函数名,看起来像这样(.dll 中的第二个条目):
2 1 0001100A ?Initialize@codec@codecX@@SANNN@Z = @ILT+5(?Initialize@codec@codecX@@SANNN@Z)
这有点难以阅读,但我从其他 .dll-s 中看到了“更好”的过程/函数列表,如下所示:
141 8C 00002A08 PogoDbWriteValueProbeInfo
如何使 .dll 列表看起来像这样?
P.S.:我的 dll 源代码如下所示:
namespace codecX
{
class codec
{
public:
static __declspec(dllexport) double Initialize(double a, double b);
...
【问题讨论】:
-
您确定要导出未损坏的名称吗?如果你这样做,那么你将无法使用函数重载。看起来您正在导出一个 C++ 类。您是在导出实例方法、构造函数等,还是所有方法都是静态的?
-
David H.,是的,我的目的是导出人类可读的格式。为什么?我需要将创建的 .dll 传递给其他同事,并且具有可读格式对于很好地理解其他人编写的源代码和/或库至关重要。 :)
标签: c++ windows visual-studio-2010 dll