如何检查 dll/lib 中的函数是否为 extern "C"在窗口中?

发布于 2024-11-07 11:42:43 字数 145 浏览 0 评论 0 原文

例如 ObReferenceObjectByName 是在 c 中定义的,所以在 c++ 中应该使用 extern "C"

但是我如何直接在 dll/lib 中检查它而不是阅读文档?

For example ObReferenceObjectByName is defined in c, so in c++ should use extern "C"

But how can I check this directly in the dll/lib instead of reading docs?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

强辩 2024-11-14 11:42:44

只需查看 lib 文件中的符号名称即可。如果名称像 C++ 对其名称那样被破坏,那么它应该是显而易见的。

Just look at the symbol name in the lib file. If the name has been mangled like C++ does with its names, it should be obvious.

情仇皆在手 2024-11-14 11:42:44

您可以在 Dependency Walker 中查看导出。

打开DLL,在右中间窗格中找到该函数,然后查看图标。它将是 CC++O#(仅按序数导出)
有关详细信息,请参阅帮助文件中的导出函数列表视图

You can look at the export in Dependency Walker.

Open the DLL, find the function in the middle right pane, and look at the icon. It will be C, C++, or O# (exported by ordinal only)
For more information, see Export Function List View in the help file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文