咱们iOS开发者,大部分都是作业务上的开发。平时可能接触到编译连接方面的知识不多,可是我以为编译连接对一个普通程序员来讲,也很是重要。html
好比平时用Xcode build过程有什么错误,咱们能够选择站在原理层面去分析哪里出现问题了,而不是靠不停debug来解决;再好比fishhook开源库你们都知道,不少人都用过,可是大部分人不知道其原理,或者说尝试过阅读其代码,生涩难懂,其实要是知道Mach-O文件格式、静态连接、动态连接,fishhook源码真的很简单。git
连接编译方面,有一本书《程序员的自我修养:连接、装载与库》(推荐你们看一下,写得很是好),不过这本书是基于Linux的ELF来写的。我本身看完了这本书,消化理解后。我选择了编译连接这一小部分知识,基于iOS的可执行文件Mach-O文件来分析,写了这系列博客。(暂时想到写这5个小主题,从此可能也会写这方面知识的其它主题博客)程序员
因此我也蹭下这本书的知名度,起名为“iOS程序员的自我修养”。github