[OC Runtime编程指南_翻译]二、运行时版本和平台

简介: [OC Runtime编程指南_翻译]二、运行时版本和平台

[OC Runtime编程指南_翻译]二、运行时版本和平台


Objective-C运行时在不同的平台上有不同的版本。


Legacy and Modern 版本


Objective-C运行时有两个版本-“modern”和“legacy”。modern版本是在Objective-c2.0中引入的,它包含了许多新特性。legacy版本的运行时的编程接口在Objective-c1运行时参考中描述;现代版本的运行时的编程接口在_Objective-C _运行时参考中描述。

最值得注意的新特性是,现代运行时中的实例变量是“非脆弱的”:


  • legacy runtime中,如果更改类中实例变量的布局,则必须重新编译继承自它。
  • modern runtime中,如果更改类中实例变量的布局,则不必重新编译继承自它。


此外,现代运行时支持声明属性的实例变量合成(请参阅 _Objective-C _编程语言中的 声明属性


平台


OS X v10.5及更高版本上的iPhone应用程序和64位程序使用modern 版本的运行时间。


其他程序(OSX桌面上的32位程序)使用 legacy 版本的运行库。


相关文章
|
Docker 容器
dockers --cap-add 哪些值可以设置
`--cap-add` 参数可以用于向 Docker 容器添加不同的权限。除了 `NET_ADMIN`,还有一些其他常用的权限值,包括: 1. `SYS_ADMIN`:添加系统管理员权限,允许容器内的进程执行系统级别的管理操作,如挂载文件系统、设置时间、修改主机名等。 2. `SYS_PTRACE`:添加系统追踪权限,允许容器内的进程使用 `ptrace` 系统调用,用于调试和监视其他进程。 3. `SYS_CHROOT`:添加切换根目录权限,允许容器内的进程使用 `chroot` 系统调用,在指定的目录下创建一个新的根文件系统环境。 4. `SYS_MODULE`:添加模块加载/卸载
1011 1
|
前端开发 编译器 iOS开发
Clang编译OC程序的常用命令
在Objective-C开发过程中,尤其在了解某些功能的底层实现时,常用到Clang编译器的命令。这篇文章是简单了解Clang和Clang的常用指令。
503 0
Clang编译OC程序的常用命令
|
API iOS开发
苹果.tbd格式的文件介绍、生成和使用
早在2015年苹果推出了Xcode7的时候,.tbd文件也随之产生,它的出现取代了我们熟悉的 .dylib。 那么.tbd文件到底是什么呢?有什么用?怎么用?接下来我们一点一点来揭开它的面纱。
苹果.tbd格式的文件介绍、生成和使用
|
编译器 API iOS开发
iOS/OC Rumtime 相关API
iOS/OC Rumtime 相关API
116 0
iOS/OC Rumtime 相关API
|
IDE 编译器 开发工具
苹果iOS开发语言用什么?
苹果软件开发语言是Object C,开发环境是 Xcode。
685 0
|
前端开发 IDE 编译器
LLVM编译器前端 Clang 简介
昨天晚上安装rails的开发环境,被ruby的编译搞的有点崩溃。下载的ruby的源码不能用系统自带的gcc -4.21编译,也不能用系统自带的clang进行编译,必须下载并使用gcc -4.2进行编译才能通过。今天稍微看看编译器的一些背景。
621 0
LLVM编译器前端 Clang 简介
|
Java C# iOS开发
苹果ios开发的基础语言介绍
iOS开发的标准语言是objective-c。是c的一种超集, 它是对c的扩展,支持面向对象编程。像后来的一些高级语言java,c#等都借鉴了该语言的面向对象特性。 当然在iOS开发过程中,也支持c/c++语言与原生的objective-c混编。
237 0
|
NoSQL 编译器 iOS开发
[OC Runtime编程指南_翻译]三、与运行时交互
[OC Runtime编程指南_翻译]三、与运行时交互
150 0
|
编译器 Go C语言
GCC编译过程记
GCC编译过程记
289 0
GCC编译过程记
|
编译器 Go C语言
GCC编译过程记
对于编程工作者来说,GCC是一个熟悉的名字,它的全称是“GNU Compiler Collection”。GCC是一组编译器集合,目前其支持C、C++、Objective-C、Objective-C++、Go和RBIG语言的编译。本篇博客主要总结使用GCC进行代码编译的方法以及从源文件生成可执行文件的整个过程。
220 0