是的,我知道“cdecl”是一个重要的调用约定的名称,所以请不要向我解释调用约定。我要问的是缩写(?)“cdecl”实际上代表什么。我认为这是一个糟糕的命名选择,因为乍一看它让人想起“C 声明符”(C 的一个相当独特的句法方面)。其实有一个程序叫cdecl其唯一目的是破译 C 声明符。但据我所知,C 声明符语法与调用约定完全无关。
简化版:“stdcall”代表“标准调用约定”。 “cdecl”代表什么?
最佳答案
它来自已声明的 C 函数(与在 K&R C 中常见的未声明的 C 函数相反)。
当时它与 pascal 调用约定(被调用者清除堆栈)共存,因此在编程语言之后调用它是有道理的。
Everything you might ever want to know about calling conventions.
关于c++ - "cdecl"代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4986844/