iOS之深入解析编译过程的原理与应用

Posted Forever_wj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS之深入解析编译过程的原理与应用相关的知识,希望对你有一定的参考价值。

一、前言

  • 一般可以将编程语言分为两种,编译语言和直译式语言。
    • 编译语言(Compiled language)是一种编程语言类型,通过编译器来实现。它不像解释型语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器代码,再加以运行。理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别,仅与程序的应用有关。
    • 直译语言(Interpreted language),又称直译式语言,是一种编程语言,它不需要经过编译器先行编译为机器码,之后直接在CPU中运行。相对的,编程语言需要通过解释器,在运行期动态直译(interpret)。
  • 像 C++、Objective-C 都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在 CPU 上执行,所以执行效率较高。
  • javascript、Python 都是直译式语言。直译式语言不需要经过编译的过程,而是在执行的时候通过一个中间的解释器将代码解释为 CPU 可以执行的代码。所以,较编译语言来说,直译式语言效率低一些,但是编写的更灵活。
  • ios 开发目前的常用语言:Objective-C 和 Swift,二者都是编译语言,换句话说都是需要编译才能执行的。它们的编译都是依赖于 Clang(Swift) + LLVM。本文只关注 Objective-C,原理上大同小异。
  • 充分理解了编译的过程,会对开发大有帮助。本文会通过以下示例

以上是关于iOS之深入解析编译过程的原理与应用的主要内容,如果未能解决你的问题,请参考以下文章

HarmonyOS之深入解析编译构建的配置和代码混淆

iOS 编译过程原理

iOS编译过程的原理和应用

网络通信与信息安全之深入解析两台主机之间的通信过程和原理

深入浅出iOS编译

深入浅出iOS编译