3

我在看一些像这里提到的代码:winapi函数的函数指针(stdcall/cdecl)函数指针和调用约定等。

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

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

4

1 回答 1

3

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

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

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

于 2014-11-05T20:30:46.593 回答