gpt4 book ai didi

c++ - 在 C++ 中,按序号链接和按名称链接是什么意思?

转载 作者:行者123 更新时间:2023-11-28 01:47:09 24 4
gpt4 key购买 nike

我一直在尝试编译第三方库 (Mongo C++),当尝试针对该库运行我自己的可执行文件时,收到格式为“The ordinal XXXX could not be located in the dynamic link library XYZ”的错误消息。那么究竟什么是顺序链接,它与按名称链接有何不同?我怎样才能强制使用一个来对抗另一个?

最佳答案

在 Windows 上,库可以通过提供 ASCII 字符串(在 C++ 中包含损坏的名称)或序号导出符号,即仅通过没有任何名称的整数。如果某些东西是通过序号猜测方法签名导出的,并且它的目的可能非常困难,那么它可以被认为是一种隐藏实现细节的方法(就像不运送调试符号一样)。尽管有可能弄乱索引并破坏向后二进制兼容性。但是您可以获得更快的库加载时间。您可以通过编写模块定义文件(.def)来控制导出方法:

EXPORTS
?FancyMangledMethod1@fancy_namespace@@Z @1 NONAME
?FancyMangledMathod2@fancy_namespace@@Z

FancyMangledMethod1 将以 1 序号导出,而 FancyMangledMathod2 将以错位名称导出。

关于c++ - 在 C++ 中,按序号链接和按名称链接是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44585808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com