objc -编译Runtime 源码

Objective-C是基于C加入了面向对象特性和消息转发机制的动态语言,除编译器之外,还需用Runtime系统来动态创建类和对象,进行消息发送和转发。本文作者通过分析Apple开源的Runtime代码来深入理解OC的Runtime机制。

http://www.csdn.net/article/2015-07-06/2825133-objective-c-runtime/1

而这篇文章的目的,就是教你从苹果提供的Runtime源码,编译出自己的libobjc.A.dylib。进而你可以调试它,深入了解它。http://blog.csdn.net/wotors/article/details/52489464


1-0

1.下载你电脑对应的objc-runtime

2.

<1>如何搜索到objc4 首先https://opensource.apple.com/     iOS公开源码也少,基本上看MAC里面的源码就可以了。

<2>点击电脑对应的版本,然后com+F搜索objc4    我这里查询到是objc4-706  然后点击,页面显示https://opensource.apple.com/source/objc4/objc4-706/  然后https://opensource.apple.com/source/objc4可以看到不同的版本。

<3>tarballs  压缩包,把这里改成tarballs  就可以看到所有的压缩包。得到打包的版本.下载对应的版本;

http://opensource.apple.com/tarballs/objc4/

<4>objc4  Libc  dyld  libauto libclosure  libdispatch libpthread xnu还差一个launchd项目,在此目录搜不到。于是,直接去Source目录Tarballs目录⌘+F可搜索到。那就在这里下载个最新版本吧,没有我们要的头文件时再下个旧版就行了。

(1)Libc 库libc是Linux下的ANSI C的函数库。

(2)XNU是内核,就像linux一样,当然,XNU是由Mach、FreeBS D内核以及苹果自己的驱动框架组合而来的。Darwin是操作系统,当然只是基础部分,包括了内核和基本的工具和库,可以类比为FreeBSD或者ArchLinux那样。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值