什么是非脆弱 ABI?

2023-11-26

这似乎暗示everyone知道“Non Fragile ABI”是什么 - 考虑到它在 Xcode 中被引用的频率和事实性质。例如...

下标需要接口节点的大小,这在非脆弱 ABI 中不是恒定的

or

选择要使用的 Objective-C ABI 版本。可用版本有 1(旧版“脆弱”ABI)、2(非脆弱 ABI 1)和 3(非脆弱 ABI 2)。

那是说...什么是非脆弱 ABI?(为什么不把它称为不太抽象/解释得更清楚的东西?)


非脆弱ABI是指无需重新编译所有子类即可向类添加实例变量的能力。

IE。在 v1 中(确实没有真正的 ObjC 版本),如果 Apple 要将实例变量添加到 NSView(在 Cocoa 上,32 位),那么 NSView 的每个子类(或子类的子类)都必须是重新编译,否则它们会爆炸。 v2 和 v3 修复了这个问题。

它的解释是详细信息请参阅此博客文章.

您所引用的文档位于 llvm/clang 手册页中。对于大多数开发人员来说,大多数时候这是一个非常罕见的地方;除非您正在编写直接驱动编译器的 Makefile,否则没有太多理由阅读该页面(除非探索 - 当然,这非常有教育意义)。

它是按照 Unix 手册页的风格编写的,毫不奇怪,有点……迟钝。对于几乎所有任务,最好坚持使用更高级别的文档。 IE。 Xcode 构建设置文档总体来说没有那么迟钝。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是非脆弱 ABI? 的相关文章

随机推荐

  • 从 YouTube 链接捕获特定时间范围内的缩略图

    1 有没有一种API方法可以捕获 存储YouTube视频在3 59处的缩略图 该缩略图不是自动生成的缩略图或原始上传者上传的封面缩略图 似乎没有任何确定的答案SO 2 如果 1 不可能 那么我下载原始视频 在所需时间范围内抓取缩略图并在我的
  • 如何忽略合并冲突?

    我有下一个合并冲突 lt lt lt lt lt lt lt Updated upstream my c name shift shift my name defined name name gt name merged common an
  • 块注释开头的感叹号的作用是什么? (那是, ”/*! … */”)

    我刚刚在一些 xcode 示例项目中发现了这个注释声明 property masterVolume abstract Sets the master volume property float masterVolume 注释像往常一样是绿色
  • 轴刻度标记

    我的折线图的 x 轴代表金钱 有没有办法在每个刻度的开头附加一个 符号 目前它们的值只有 2000000 250000 300000 我希望他们显示 2000000 250000 300000 我尝试将 添加到我的 CSV 文件中 但当我尝
  • 使用 ng-transclude 似乎在表格中效果不佳

    我创建了一个简单的指令 用于在 td 当没有表数据时 即 未找到结果 会占用表的整行 在我只有静态文本之前 td 但现在我希望能够将任何 DOM 放入其中 我尝试添加ng transclude按照我的指令 但现在它以一种奇怪的方式渲染元素
  • 如何在Android中使用Web视图访问本地主机服务器

    我有一个 Android 应用程序 我需要访问我的网络服务器并将我的 Android 应用程序连接到网络上的另一个程序 我的网络程序正在工作 当我将其 IP 地址放在 Android FIrefox 或浏览器上时 它正在工作 但是当我用我的
  • 如何在 Angular 2 中解释 MVC 模式?

    找到了一个有用的博客Angular MVC 实现但仍在寻找好的解释角2 General 我认为该模式确实与语言无关 也就是说 设计 架构模式是相当抽象的 并且用不同的语言实现它们遵循这种更抽象的表示 这并不是说我们不能通过示例语言 例如 C
  • 获取 PostgreSQL 中某个范围内的日期列表

    我想获取两个日期 包括它们 之间的天数列表PostgreSQL数据库 例如 如果我有 开始日期 2012年6月29日 结束日期 2012年7月3日 那么结果应该是 29 june 2012 30 june 2012 1 july 2012
  • 初始化大型 std::array 时编译器挂起

    我需要初始化一个非常大的多维std array数据的 class Thing class World public World space nullptr World default private static unsigned int
  • ASP.NET MVC 4 异步控制器回调

    我只是使用 MVC 4 中新的异步控制器功能 如此处所述http www asp net mvc tutorials mvc 4 using asynchronous methods in aspnet mvc 4 如果我有一个可能需要 1
  • Leaflet - 获取覆盖全屏的地图

    在传单和地图框中 我想去掉地图上方和下方的两个灰色条 如下图所示 我的 map DOM 元素占据全屏 并且当我放大时灰色条消失 例如 zoomLevel 3 因此 灰色条似乎是由于 ZoomLevel 具有给定的图块高度 以 px 为单位
  • 获取给定 ID 的最新行

    在下表中 我如何获得最近一行 with id 1基于signin列 而不是全部 3 行 id signin signout 1 2011 12 12 09 27 24 NULL 1 2011 12 13 09 27 31 NULL 1 20
  • 如何在 Xcode 11 中启动没有 Storyboard >= iOS 13 的新项目?

    现在 带有 iOS 13 的 Xcode 11 启动时的设置与之前略有不同 将 AppDelegate m 文件中的许多功能移动到名为 SceneDelegate m 的新文件中 删除 Main storyboard 并在 AppDeleg
  • WPF DataGrid ComboBox 导致 InvalidOperationException

    当我尝试编辑组合框列的值时 我从数据网格中收到 InvalidOperationException AddNew 或 EditItem 事务期间不允许 DeferRefresh 我显示的所有项目都引用了同一列表中的另一个项目 因此这就是我使
  • 将 NumPy 字符串数组转换为日期时间

    例如 我有一个字符串数组 import numpy as np foo np array b 2014 04 05 b 2014 04 06 b 2014 04 07 为了检查数组的数据类型 我用以下命令打印它 print foo dtyp
  • 为什么 InnoDB 中的 IX 锁与另一个 IX 锁兼容?

    根据innodb锁模式 锁类型兼容性矩阵 X IX S IS X Conflict Conflict Conflict Conflict IX Conflict Compatible Conflict Compatible S Confli
  • 在c#中,如何构建从A到ZZ的数组,类似于excel对列进行排序的方式

    我正在寻找可以生成第一项是数组的代码A then B then C 后Z然后它会去AA then AB then AC 一直到ZZ 在 C 中执行此操作的最佳方法是什么 其中一种方法是 IEnumerable
  • 使用 Selenium Webdriver 查找元素内的元素

    我正在抓取一个网站 其中包含使用 JavaScript 生成的足球比赛列表 我编写了以下行 用于创建页面上所有游戏元素的列表 list browser find elements by xpath data sportid 1 如果我然后写
  • 将 Web.config 从 .NET 2.0 转换为 3.5

    我至少需要添加到 NET 2 0 网站的 web config 中以使其成为 NET 3 5 Visual Studio 添加了所有配置部分和脚本处理程序 但如果您不使用它们 它们真的有必要吗 是否有命令行工具可以将 NET 2 0 web
  • 什么是非脆弱 ABI?

    这似乎暗示everyone知道 Non Fragile ABI 是什么 考虑到它在 Xcode 中被引用的频率和事实性质 例如 下标需要接口节点的大小 这在非脆弱 ABI 中不是恒定的 or 选择要使用的 Objective C ABI 版