没有名为 的标识符或关键字_stdcal。但是,MSVC 编译器同时接受_stdcalland __stdcall,一个或两个下划线。
有一个下划线是因为语言规范需要它。全局命名空间中的供应商特定标识符或非标准关键字必须以下划线作为前缀。
双下划线的存在是因为供应商永远输掉了与认为他们应该在自己的代码中使用前导下划线的程序员的战斗。也出现在其他非标准关键字中,例如__interface和__m128。在其他编译器中,比如 gcc 的__attribute__. 显然,您需要使用文档版本,两个下划线。