美文网首页
Object-C编译时和运行时

Object-C编译时和运行时

作者: 雪夜月 | 来源:发表于2016-12-09 18:43 被阅读20次

我们平常说的编译时和运行时指的是什么呢?

今天对于这个问题现在有一点更深刻的理解,记录一下。

今天遇到了个莫名其妙的bug。两套一样的代码,其中一个运行没问题,另一个运行的时候出现崩溃现象而且是必现。

后来发现原因,Build Phases没有将mrc代码转成arc。

我们习惯于编译的时候看出现了什么问题而去直接mrc-arc代码互相转化(-fno-objc-arc,-fobjc-arc),但不是所有的代码问题都会在这个时候全给你暴露出来,编译的时候只是看程序有没有什么语法错误之类的,这个时候如果不是arc中使用retain这种问题,也不会给你报错,只有运行时才会调用具体的方法,这时就会出现问题,比如过度释放引起崩溃。所以啊,严谨些~

相关文章

  • Object-C编译时和运行时

    我们平常说的编译时和运行时指的是什么呢? 今天对于这个问题现在有一点更深刻的理解,记录一下。 今天遇到了个莫名其妙...

  • iOS 内存管理

    ARC ARC是 Object-C 编译特性, 不是运行时特性也不是垃圾回收机制, ARC 所做的只是在代码编译自...

  • iOS基础知识点100+

    object-c 的多继承Objective-C不支持多继承,由于消息机制名字查找发生在运行时而非编译时,很难解决...

  • Runtime总结

    runtime简称为运行时,Object-C 就是这么一种机制,在编译阶段,并不能确定调用哪个函数,只有到运行时才...

  • iOS 运行时和编译时区别(转)

    一、概念 编译时 运行时 二、例子说明: 1.string在编译时和运行时分别时什么类型的对象?NSString*...

  • 区别:编译时与运行时(Combile-time Vs Runti

    1. 什么是编译时和运行时 2. 编译时错误与运行时错误 编译时错误 编译时的错误一般指源代码中存在的语法错误,类...

  • Java多态

    Java多态 编译时类型和运行时类型 理解编译时类型和运行时类型是理解多态的关键 上最直白的定义: Java的引用...

  • CocoaData_Runtime初步认识(借鉴)

    1.运行时 VS 编译时 运行时 : 直到程序运行时才确定对象的具体信息 编译时 : 在程序运行之前,编译的时候,...

  • iOS底层探索 -- objc_msgSend()流程分析

    引子:我们在很早时候就听过OC是一个运行时语言,那么什么是运行时? 引入两个概念,编译时 和 运行时 编译时 :顾...

  • android点二

    一、编译时与运行时 编译时与运行时[https://zhuanlan.zhihu.com/p/22886648] ...

网友评论

      本文标题:Object-C编译时和运行时

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