Ale*_*ray 6 compiler-construction 64-bit xcode cocoa objective-c
似乎暗示每个人都知道"非脆弱的ABI"是什么 - 考虑到Xcode中所涉及的频率和事实性质.例如...
下标要求接口节点的大小在非脆弱的ABI中不是常数
要么
选择要使用的Objective-C ABI版本.可用版本为1(传统"脆弱"ABI),2(非脆弱ABI 1)和3(非脆弱ABI 2).
那说...... 什么是非脆弱的ABI?(为什么不把它称为不那么抽象/更清楚地解释?)
bbu*_*bum 15
非脆弱的ABI指的是将实例变量添加到类而不需要重新编译所有子类的能力.
即v1(确实没有真正的ObjC版本),如果Apple要将实例变量添加到NSView(在Cocoa上,32位),那么NSView的每个子类(或子类的子类)都必须被重新编译或他们会爆炸.v2和v3解决了这个问题.
您要引用的文档位于llvm/clang手册页中.大多数时候,大多数开发人员都非常难得; 除非你正在编写一个直接驱动编译器的Makefile,否则没有太多理由去阅读那个页面(除非是spelunking - 当然这很有教育意义).
它是用Unix手册页的风格编写的,毫不奇怪,有点......愚蠢.对于几乎所有任务,最好坚持使用更高级别的文档.即Xcode构建设置文档通常不那么迟钝.