[C++语法语义探讨] C/C++ calling convention

bigpanda 2007-03-16
昨天晚上一时兴起,想去看看C/C++标准是怎么定义Calling Convention的,结果仔细查找了目录和索引也没有查到,又翻了好几本C/C++的经典书,都没有找到。请问 __stdcall, __cdecl和__fastcall这些calling conventions是否只是Intel/微软系统上专有的?

大家发表发表意见。
simohayha 2007-03-16
不是.
jack 2007-03-17
怎么call是编译器决定的,各种编译器不同的处理方式,就有不同的call方式。这个不关c/c++标准什么事情.
spinach 2007-03-23
jack 写道
怎么call是编译器决定的,各种编译器不同的处理方式,就有不同的call方式。这个不关c/c++标准什么事情.

是编译器决定吗?程序不是可以直接指定吗?都糊涂了,谁能具体讲解下就好了,嘿嘿~
fixopen 2007-11-23
是编译器决定的。
但是一般情况下,编译器会提供几种调用约定,因此一般会给我们提供一个管理接口,让我们指定采用那种调用约定。
七猫 2007-12-03
当然是编译器决定的,特别是fastcall最乱了。找找黑客反汇编这本书上的介绍吧。
Global site tag (gtag.js) - Google Analytics