• 函数的调用约定


    1._cdecl,C Declaration的缩写,是C和C++默认的调用方法
    所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈,对于传递参数的内存栈是由调用者来维护的(实现可
    变参数的函数只能使用该调用约定)。被调用函数无需要求调用者传递多少参数
    每个调用它的函数都包含清空堆栈的代码,所以产生的可执行文件大小会比调用_stdcall函数的大,VC将函数编译后在函
    数名的前面加上下划线前缀
    2._stdcall是Standard Call的缩写,是C++的标准调用方式
    所有参数从右向左依次入栈,如果是调用类成员的话,最后一个入栈的是this指针,这些堆栈中的参数由被调用函数在返
    回后清除,成为自动清栈,函数在编译的时候必须确定参数个数,调用者必须严格的控制参数的生成方式,VC将函数编译
    后会在函数名前面加上下划线前缀,在函数名后加"@"和参数的字节数
    3._fastcall,特点是快,通过寄存器来传送参数的,VC将编译后的函数名前面加上"@"前缀,在函数名后面加上"@"和参数
    的字节数
    4._thiscall,仅用于C++成员函数,this指针存放在CX寄存器,参数从右向左,

  • 相关阅读:
    python连接数据库异步存储
    pythonscrapy之MySQL同步存储
    头有点大
    scrapy反爬虫
    《猫抓老鼠》
    Linux下系统监控工具nmon
    探索式测试学习资料
    开始探索式测试学习之前的思考
    Software Quality Characteristics 软件质量特性
    自动化测试整理 STAF/STAX & Robot Framework
  • 原文地址:https://www.cnblogs.com/xiaoxiaocaicai/p/3594806.html
Copyright © 2020-2023  润新知