gpt4 book ai didi

windows - 应该使用 "__imp__ApiName@N"还是 "_ApiName@N"?

转载 作者:可可西里 更新时间:2023-11-01 12:02:21 28 4
gpt4 key购买 nike

我用 DUMPBIN 转储了一个 Windows SDK .lib 文件 (kernel32.lib),输出显示每个 API 名称都有两个“版本”,例如:

_imp_ExitProcess@4

_ExitProcess@4

那么,为什么会有两个相同但名称不同的重整? .假设我想从 NASM 调用 ExitProcess,当声明 EXTERN 时我应该使用它们中的哪一个?我的实践告诉我,我可以调用它们中的任何一个,但我不知道哪个是“正确的”或“首选的”坚持下去。

最佳答案

我认为 _imp_ 版本旨在与 Visual C++ 编译器上的 __declspec(dllimport) 一起使用,以防止与同一模块中的代码发生潜在冲突。

您不应该在您的代码中明确使用该事实——只需使用原始函数,即 _ExitProcess@4

关于windows - 应该使用 "__imp__ApiName@N"还是 "_ApiName@N"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8663881/

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