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整理而成

  • 相关阅读:
    单例模式
    分析GC日志
    JVM运行时参数
    JVM监控及诊断工具-GUI篇
    JVM监控及诊断工具-命令行篇
    性能监控与调优(概述篇)
    再谈类的加载器
    类的加载过程(类的生命周期)详解
    字节码指令集
    class文件结构
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3031475.html
Copyright © 2011-2022 走看看