在函数前面加上回调、WINAPI或PASCAL(在MFC中)是绝对必要的还是仅出于可读性目的?
在在函数前面加上回调、WINAPI或PASCAL(在MFC中)是绝对必要的还是仅出于可读性目的?,mfc,timer,callback,calling-convention,stdcall,Mfc,Timer,Callback,Calling Convention,Stdcall,在MFC VC++中,使用CALLBACK过程设置setTimer函数。我从报纸上读到的 标记为u stdcall的函数使用标准调用 之所以这样命名,是因为所有Win32 API函数(除了少数 使用它 这就是我所了解的,所有VC++MFC函数都使用\uu stdcall作为它们的调用转换 而回调的定义如下 #define CALLBACK __stdcall 我读到的: 在函数前面加上CALLBACK用于强调在必要时自动调用特定函数(如javascript中的setTimer案例或onCli
MFC VC++
中,使用CALLBACK
过程设置setTimer
函数。我从报纸上读到的
标记为u stdcall的函数使用标准调用
之所以这样命名,是因为所有Win32 API函数(除了少数
使用它
这就是我所了解的,所有VC++MFC函数都使用\uu stdcall
作为它们的调用转换
而回调
的定义如下
#define CALLBACK __stdcall
我读到的:
在函数前面加上CALLBACK用于强调在必要时自动调用特定函数(如javascript中的setTimer
案例或onClick
案例)
我怀疑的是,在MFC VC++中,所有函数(除了少数
具有默认调用约定uu stdcall。因此,在带有
回调
或WINAPI
或PASCAL
的函数前面或不前面都有相同的效果?这对计算机来说是绝对必要的吗?这取决于上下文,您可能会幸运,因为堆栈上的数据类型恰好与API的要求相匹配,也可能会在每次代码丢失和崩溃时惨遭失败
对于维护程序员来说这是绝对必要的吗?是的。你知道,可怜的人必须找出你的非标准约定和聪明的“优化”。总有一天,那个可怜的人可能就是你 当你试图破坏API时