__stdcall修饰符

Posted garbslife

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了__stdcall修饰符相关的知识,希望对你有一定的参考价值。

被这个关键字修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall 的前面部分由ecx,edx传)。

函数调用在返回前要由被调用者清理堆栈。

 

扩展:

1、修饰名(Decoration name)

“C”或者“C++”函数在内部(编译和链接)通过修饰名识别。

修饰名是编译器在编译函数定义或者原型时生成的字符串。

有些情况下使用函数的修饰名是必要的,如在模块定义文件里头指定输出“C++”重载函数、构造函数、析构函数,又如在汇编代码里调用“C””或“C++”函数等。

修饰名由函数名、类名、调用约定、返回类型、参数等共同决定。

2、名字修饰约定随调用约定和编译种类(C或C++)的不同而变化。函数名修饰约定随编译种类和调用约定

的不同而不同。

 

以上是关于__stdcall修饰符的主要内容,如果未能解决你的问题,请参考以下文章

2016 2 - 23 arc中的所有权修饰符(_strong修饰符与_weak修饰符)

5_JavaSE_修饰符

__block修饰符(四)

__weak 修饰符

__weak与__block修饰符区别

Java语言中的修饰符