c++ - 如何探索.A库文件中的函数

标签 c++ windows dll mingw

我从 mingw 创建了一个 .A 和一个相应的 .dll 文件。这是要在Windows上运行。现在我正在尝试连接和使用来自不同组件的 .A 库中的函数,但出现链接器错误。我想确定我的函数是否正确导出。因此我关注了this链接并决定这样做

> lib.exe /list libSomeLibrary.a

结果我得到了这样的东西

d001861.o
d001862.o
d001863.o
d001864.o
d001865.o
d001866.o
d001867.o
d001868.o
d001869.o
d001870.o
d001871.o
d001872.o
d001873.o
d001874.o
d001875.o
d001876.o
d001877.o
d001878.o
d001879.o
d001880.o
d001881.o
d001882.o
d001883.o
....
....

这是正确的吗?有没有办法让我实际获取 lib 文件中函数的名称。

最佳答案

由于您使用的是 MinGW,您可以使用 nm 命令列出任何 libfoo.a 归档文件的内容;这样使用:

nm -A libfoo.a | more

(或者更好,如果你有 less 命令,例如在 MinGW 的 MSYS shell 环境中):

nm -A libfoo.a | less

它将列出存档中指定的所有符号,并根据提供每个符号的嵌入式目标文件的名称进行分组和限定。

关于c++ - 如何探索.A库文件中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29857354/

相关文章:

c++ - 如何在定义时静态检查我的模板化类?

c++ - pImpl 是否从根本上解决了 C++ DLL 问题?

c# - 使用 C# 获取 OpenGL 版本的最简单方法

c++ - c++ new 运算符可以在 Windows 上自动使用大页面吗?

python - 可以使用 WMI Python 终止进程

c++ - 导入库<->动态链接库兼容性

c++ - 分配函数和返回指针

c++ - 动态分配数组的大小是否存储在某处?

C++链表删除错误的项目

c++ - 我可以使用 Windows 事件日志来调试应用程序吗?