gpt4 book ai didi

c++ - 为什么使用 __stdcall 作为函数指针

转载 作者:太空狗 更新时间:2023-10-29 21:19:36 27 4
gpt4 key购买 nike

我正在查看一些代码,例如此处提到的代码:Function pointers for winapi functions (stdcall/cdecl) , Function pointer and calling convention

将函数指针的调用类型声明为__stdcall有什么需要和好处?

为什么要声明函数指针的调用类型?

最佳答案

在函数指针中嵌入调用约定说明符允许您在通过该指针调用函数时使用该调用约定。 __stdcall是用于调用 Win32 API 函数的调用约定。

在函数指针中指定它的好处是能够根据代码的需要匹配不同的调用约定(例如,当通过 late binding 加载外部库的函数时)。库 header 应将它们指定为良好的编程习惯。

但有一个警告:如果您在函数指针中嵌入了错误的调用约定,编译器可能无力帮助您检测到这一点,您最终可能会在运行时做坏事。

关于c++ - 为什么使用 __stdcall 作为函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26766393/

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