在以前老版本的C++编译器里,编译器会为使用不同调用约定(Calling Convention)的函数生成不同的名称,不仅是连接程序会遵从这个命名规则,调试器也会遵守这个命名规则。因此在Visual Studio里调试使用老版本编译器编译出来的程序,在设置函数断点的时候需要考虑到这个因素。

下面是VC里面不同调用约定的函数命名规则:

调用约定

参数压栈顺序

清理堆栈

函数命名规则

stdcall

从右向左

被调函数负责清理堆栈

函数名加前缀“_”,并且在函数名后面附加“@”和堆栈要求分配的字节数。

示例:_TestMethod@4

Cdecl

从右向左

调用函数负责清理堆栈

函数名加前缀“_”。

示例:_TestMethod

Fastcall

前两个参数由ECX和EDX传递,其他的从右向左压栈

被调函数负责清理堆栈

函数名后附加“@”和堆栈要求分配的字节数。

示例:TestMethod@4

Thiscall

This指针由ECX寄存器传递,其他的从右向左压栈

被调函数负责清理堆栈

C++命令规则

转载于:https://www.cnblogs.com/killmyday/archive/2011/10/19/2218136.html

VC 6中使用不同调用规范的函数在符号文件里的表示方式相关推荐

  1. KERNEL32.DLL中可供调用的API函数列表

      KERNEL32.DLL中可供调用的API函数列表,如下: ActivateActCtx AddAtomA AddAtomW AddConsoleAliasA AddConsoleAliasW A ...

  2. 在Z-stack中,我们调用数据发送函数,可以发送的最大字节数即ASDU最大是多少呢?

    在Z-stack中,我们调用数据发送函数,可以发送的最大字节数即ASDU最大是多少呢? 在f8wConfig.cfg文件中定义了 /* Set the MAC MAX Frame Size (802. ...

  3. react类组件中父组件调用子组件函数

    1.自定义事件 子组件在 componentDidMount 生命周期里调用父组件的方法将 this 传给父组件 Son import React, { Component } from 'react ...

  4. java中方法不调用会执行_java[新手]类里的方法没有调用为什么实现了?

    展开全部 这种模式的代码多了去了,不是所有的代码都要你手动调用e68a843231313335323631343130323136353331333337386563才会执行.比如说线程的run方法, ...

  5. 梳理:python—同一个类中的方法调用

    为什么突然在此提到这个梳理问题呢? 因为在自己实践综合练习学过的知识时,突然觉得有些知识点的运用总是不成功,于是翻过课本进行回顾,总是觉得是对的,可是当再进一步思考"既然是对的,为什么在程序 ...

  6. mvc中js是如何调用HTML的,MVC中javascript直接调用Model

    最近做一个统计页面, Model从后台已经获取了数据集合,想直接在前台展示,而这个展示是需要用js生成图表的. 控制器部分代码: public ActionResult Index() { var m ...

  7. 在C++中混编调用CHEMKIN

    填周六的坑,CHEMKIN是一个燃烧经常使用的Fortran代码包.笔者当前的代码为C++的MPI并行代码,为了在代码中使用CHEMKIN的模块,需要进行C++和Fortran的混编. 基础的混编测试 ...

  8. 在 Excel 中使用 C# .NET 用户定义函数 (UDF)

    在 VBA 中编写 UDF 以暴露给 Excel 单元格是直截了当的,只需在 VBA 模块中编写函数,Bob 就是你的叔叔.但是,使用托管语言(例如 C# 或 F#)将函数公开给 Excel 会稍微复 ...

  9. vc 中C 语言命名规范(转)

    一.程序风格:         1.严格采用阶梯层次组织程序代码:         各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行.要求相匹配的大括号在同一列,对继行则要求再缩 ...

最新文章

  1. [delphi]参数带有默认值的函数
  2. MobileNetV1/V2/V3简述 | 轻量级网络
  3. (015)java后台开发之web项目中如何添加jar包和删除jar包
  4. 互联网1分钟 |1228
  5. HDU - 4348 To the moon(主席树区间更新-标记永久化)
  6. 循环群的子群是循环群
  7. SAP Analytics Cloud里的Planning model
  8. Source Insight使用技巧
  9. android懒加载单实例,【 Android 10 设计模式 】系列 -- 单例
  10. android5.1 sdk version,java - Android SDK version 23.6 - Stack Overflow
  11. Java最后_Java最后一次总结
  12. 精确控制Thinkpad的风扇和温度
  13. 一个合格的ACMer的代码当中,都藏着哪些秘密?
  14. Glide 缓存与解码复用
  15. ARM开发7.5.2 基础实训( 6 ) 4×4 矩阵键盘和 2 路 LED 显示系统( 2 )--LPC21XX
  16. 实时应用监控平台CAT
  17. 基于饥饿博弈搜索算法的函数寻优算法
  18. 常用笔记啊(持续更新)
  19. 计算机术语pc是什么意思,pc_pc是什么意思-太平洋IT百科
  20. 深度学习——损失函数(Regression Loss、Classification Loss)

热门文章

  1. Redis原理及拓展
  2. 函数中的apply,call入门介绍
  3. 本地浏览器缓存sessionStorage(临时存储) localStorage(长期存储)的使用
  4. NG客制项目下的I18n国际化标准方案
  5. 微软白皮书发布:在IIS7.5中用Service Bus端点寄宿WCF服务
  6. mysql+tushare搭建本地数据库
  7. python线程状态_Python线程
  8. Django模型关系
  9. 安装mysql后在安装目录下只有my-default.ini没有my.ini文件 解决-The MySQL server is running with the --secure-file-priv
  10. MapReduce原理全剖析