zoukankan      html  css  js  c++  java
  • c/c++函数调用约定

    调用方式

    参数传递顺寻

    清理堆栈         

    支持变长参数           

    使用对象

    函数名修饰

    Name-decoration convention

    其他

    __cdecl

    从右至左

    调用者

    支持

    C/C++默认调用方式

    函数名前加下划线如函数main修饰成_main

    生成的代码比stdcall大,因为其要求每个函数调用包含清理堆栈的代码

    __stdcall

    从右至左

    被调用者

    不支持

    Win32 APIdll中导出函数使用

    下划线开头,函数名,然后@符号,最后是参数的总byte数。如:int f(int a, double b ),名字为_f@12

     

     

    __fastcall

    先放入EDXECX中,在从右至左

    被调用者

    不支持

     

    @开头,函数名,然后@符号最后是参数的总byte数,如:@f@12

     

    快速传参,即快速调用

    thiscall

    从右至左,this指针放ECX

    被调用者

    不支持

    C++成员函数专用,用来支持this指针

     

     

    本文档根据MSDN整理而成

  • 相关阅读:
    HTML学习基础(一)
    初识C#
    SQL小知识
    jQuery(四)
    jQuery(三)
    认识jQuery(二)
    认识Jquery
    初识Javascript
    初识HTML
    博客,你好!
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3031475.html
Copyright © 2011-2022 走看看