Objective-C程序的启动例程有什么作用?

时间:2012-05-29 09:39:15

标签: objective-c

我知道有关所有已加载类的信息是在启动时收集的。但我找不到任何有关它是如何完成的信息以及Objective-C启动例程与普通C程序的启动例程相比如何。

我只是想知道从这一点开始在Objective-C中添加了什么。 Objective-C程序是一个带有一些附加功能的C程序,还是它的结构完全不同?

1 个答案:

答案 0 :(得分:1)

你应该看看Cocoa with Love:http://cocoawithlove.com/2008/03/cocoa-application-startup.html中的这篇文章,它提供了一个很好的概述。

但是,如果你真的想知道发生了什么,那么这将是一个挖掘,但你可以在http://opensource.apple.com/查看运行时的源代码。在你感兴趣的操作系统中查找objc4 *项目。查看objcrt.c初始化链的顶部。

您在原始帖子中提出了两个不同的问题:启动例程的内容(运行时中介绍的内容)和“Objective-C程序是一个带有一些附加功能的C程序”。后者的答案是肯定的,它是一个带有一些附加功能的C程序,与C ++的方式相同。而且,与C ++一样,它包含一些非常重要的运行时添加。