C++ ABI 问题列表

标签 c++

我看到很多关于 C++ 没有标准 ABI 的讨论,就像 C 一样。我很好奇究竟是什么问题。到目前为止,我想出了

  1. 名称修改
  2. 异常处理
  3. RTTI

还有其他与 C++ 相关的 ABI 问题吗?

最佳答案

在我的头顶:

C++ 特定:

  • 在哪里可以找到“this”参数。
  • 如何调用虚函数
    • 即它是否使用 vtable 或其他
    • 用于实现这一点的结构的布局是什么。
  • 如何处理多个定义
    • 多个模板实例化
    • 未内联的内联函数。
  • 静态存储持续时间对象
    • 如何处理创建(在全局范围内)
    • 如何处理本地函数的创建(如何将其添加到析构函数列表中)
    • 如何处理销毁(按创建的相反顺序销毁)
  • 您提到了异常(exception)情况。还有如何在 main() 之外处理异常
    • 即在 main() 之前或之后

通用。

  • 参数传递位置
  • 返回值位置
  • 成员对齐
  • 填充
  • 寄存器使用情况(保留哪些寄存器哪些是临时的)
  • 原始类型(例如 int)的大小
  • 原始类型的格式(浮点格式)

关于C++ ABI 问题列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7492180/

相关文章:

c++ - 中断代码执行

c++ - inline 关键字会影响链接时间优化吗?

c++ - 如果编译时大小未知,如何动态分配固定字符数组?

c++ - 使用结构数组计算?

c++ - 一个简单的 http C++ 服务器应该执行哪些步骤让用户通过 OpenID 身份验证登录?

c++ - 使用C在文本中搜索一个词,并显示该词后的信息

c++ - 使用继承的类模板避免公共(public)成员不可见和源代码膨胀/重复的更好方法?

c++ - 通缉 : Compiler Tool for Users of Software System

c++ - 带有 MySQL Connector stmt->executeQuery() 错误的 VS Express 2013 C++

java类问题