我正在使用 Visual Studio 开发一个现有的 c++ 项目,我发现几乎每个函数声明都__cdecl
在函数名称前加上一个,例如:void __cdecl functionName()
. 然后我跳转到__cdecl
位于winnt.h
文件中的 的定义:
#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define NTAPI __stdcall
#else
#define _cdecl
#define __cdecl
#define NTAPI
#endif
我搜索了cdecl并得到它是 C 和 C++ 程序的默认调用约定,但上面的代码告诉我它__cdecl
什么都没有。那么为什么要__cdecl
在函数名称之前放置一个函数名,因为它什么都不是?还是我误解了上面的代码?