重新认识代码

作者: RX78178 | 来源:发表于2016-12-12 17:34 被阅读13次
    做开发时间越来越长,知道的越多觉得不知道的更多。有时会去想,我们写的代码是怎么从oc,c,c++等等,这样的高级语言变成可执行文件的?编译,运行的过程中究竟发生了什么?
    带着这样的问题,我打算好好静下心来阅读一本书 —— 《程序员的自我修养——链接、装载与库》。
    自从从事iOS开发至今,其实绝大部分时间是做业务需求,少部分时间在思考代码结构和程序架构。而对于底层机制的探索知之甚少。
    有过 OC(或者别的编译语言)开发经验的开发者,必然会遇到过方法重复定义或者是变量重复定义的问题(duplicate symbols for architecture i386)。
    这种错误说的是编译器认为方法和变量被重复定义了,而导致这个错误的原因可能是因为import了一个.m文件,而非.h文件。(真的在一个类中定义了两个同名函数的情况不是没有,只是很容易被发现,而包含.m文件导致的报错,不容易发现)

那么,import了.m文件,为什么会使得编译器认为重复定义了函数和变量呢?而又为什么import .h文件是对的呢?这就需要了解编译器在编译、链接过程中做了些什么。也是我去看这本书的原因。
随着,看书和自己编程时间的慢慢增长,我越来越觉得,所有的编程,链接,运行,等等计算机中出现的这些专有术语,其实和生活中的种种事物和其运行是一样的。只不过用在了计算机上,给了他一个专门的称谓,本质上其实是逻辑思维。为了做一件事儿,我需要某某某条件,有了条件,我还需要组织,有了组织我要知道改如何组织,等等。凡此种种,其实都是基于逻辑思维 和 逻辑完备而生的。
我希望能从底层了解代码,从本源了解世界。

相关文章

  • 重新认识代码

    那么,import了.m文件,为什么会使得编译器认为重复定义了函数和变量呢?而又为什么import .h文件是对的...

  • 《认知突围——做复杂时代的明白人 》读书笔记

    作者在书中从"重新认识自己,重新认识知识,重新认识金钱,重新认识时间,重新认识关系,重新认识人生"六个方面进...

  • <<重构>>第一版前四章学习想法

    《重构:改善既有代码的设计》作者:(美)马丁·福勒(Martin Fowler) 重构的重新认识(再版序)重构是在...

  • 每周阅读(6/27)

    HashMap的实现和原理,如何运用红黑树实现扩容优化。Java8系列之重新认识HashMap Google的代码...

  • 【10月11日HTML5公开课】2w行前端代码库老司机带你重新认

    2w行前端代码库老司机带你重新认识vue 腾讯课堂直播地址:https://ke.qq.com/course/32...

  • 重新认识目标

    早上读了小帅老师的文章,里面有提到我们要重新认识的六个方面:重新认识选择、重新认识命运、重新认识改变、重新认识耐心...

  • 15期训练营4组38号小赖第1节课后作业

    建立心智管理时间模型 一、认知突围(从四个维度:重新认识自己,重新认识金钱,重新认识时间,重新认识人生,请从这个方...

  • 第18期训练营欣欣的作业

    一、今晚作业:1.认知突围,从四个维度(重新认识自己,重新认识金钱,重新认识时间,重新认识人生),请从这个方面,阐...

  • 29号

    最近都是重新认识重新认识重新认识、有没有不是重新认识的、自我驱动力、自我约束、自我陶醉、自我安慰、自我保护。唉~~...

  • 第一周的作业,段玉荣

    1:认知突围(从四个维度:重新认识自己,重新认识金钱,重新认识时间,重新认识人生,请从这个方面阐述你应该如何做?)...

网友评论

    本文标题:重新认识代码

    本文链接:https://www.haomeiwen.com/subject/cyekmttx.html