gpt4 book ai didi

c - 为什么 Microsoft 将 WINAPI、CALLBACK 和 APIENTRY 定义为都引用 __stdcall?

转载 作者:行者123 更新时间:2023-12-01 23:08:03 28 4
gpt4 key购买 nike

对于曾经为负责定义这些宏的 Microsoft 团队工作过的人、认识的人工作过的人或以其他方式与负责定义这些宏的 Microsoft 团队有任何关系的人来说,这是一个好奇的问题。

我理解 __stdcall 是什么,我知道为什么使用它,我只是不明白为什么微软会为同一件事制作三个单独的宏。我能看到的唯一好处是在源文件中提供一些语义含义,但除此之外,据我所知,它没有提供其他好处。显然这样做是有目的的,我只是想知道它是什么! :)

最佳答案

看来您对用于提供语义信息的不同宏的看法是正确的。 MSDN 关于CALLBACK 是这么说的:

CALLBACK, WINAPI, and APIENTRY are all used to define functions with the __stdcall calling convention. Most functions in the Windows API are declared using WINAPI. You may wish to use CALLBACK for the callback functions that you implement to help identify the function as a callback function.

WINAPIAPIENTRY 据说都是:

The calling convention for system functions.

我不知道为什么系统函数有两个宏。

关于c - 为什么 Microsoft 将 WINAPI、CALLBACK 和 APIENTRY 定义为都引用 __stdcall?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24347764/

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