RunTime 系统是一个动态库,它启用了 Objective-C 的动态特性。我的问题是:谁运行这个运行时系统?它总是与操作系统一起运行吗?
问问题
133 次
1 回答
1
运行时系统听起来可能是一个守护进程或一直在运行的运行时系统。
不是;它只是一组链接到您的应用程序的实用程序例程,编译器生成调用以实现诸如自省、类实现以及最常用的方法调用之类的事情。
每个 Objective-C 应用程序都有自己的运行时,因为每个应用程序都在自己的隔离内存空间中运行,并且不能接触其他应用程序的内存。
换句话说,Objective-C 运行时完全是被动的。除非执行一些调用它的代码,否则它什么也不做(一个例外是当 ObjC 在 GC 环境中运行时,因为 GC 线程将与运行时串通以清理内存)。
大多数高级语言都有某种运行时系统。甚至 C(查找 crt0)。
于 2013-09-07T18:23:55.643 回答