美文网首页
Xcode编译原理

Xcode编译原理

作者: silasjs | 来源:发表于2019-12-07 22:24 被阅读0次

Xcode编译原理

1.xcode 编译的过程

源文件.c --> 编译 --> 目标文件.o --> 链接 --> 可执行文件.out

xcode 编译过程:

  1. 首先是把程序员写的代码编译成二进制。
  2. 然后再根据源文件中导入的系统库头文件去链接,也就是把自己写的代码和系统库中的代码合并在一个二进制文件中。
  3. 生成可执行文件。

2.clang 指令编译步骤

xcode4 之前是使用 GCC 编译器来翻译代码的。GCC 编译器是开源免费的,可以编译 C/OC/C++/JAVA...
xcode4 之后使用苹果自己的 LLVM(clang 前端)。

  1. 打开终端

  2. cd到源文件所在的位置

  3. 编写源文件

    1. touch main.c(创建源文件)
    2. open main.c(打开文件)
    3. 编写代码:
    #include <stdio.h>
    
    int main() {
        printf("hello, silas \n");
        return 0;
    }
    
  4. 编译命令:cc -c main.c(我们自己的代码翻译成0和1)

    1. 先生成main.i(替换文件中所有的预处理指令)
    2. 再生成main.s(汇编)
    3. 最后生成一个main.o文件(二进制)
  5. 链接命令:cc main.o (将我们自己的代码和系统的以及其他依赖文件的代码组合在一起,生成可执行文件)

  6. 执行文件:./a.out(相当于运行程序)

注意:
如果只有⚠️,没有❌,那么clang会帮我们翻译代码。
如果有❌,那么clang就不会给我们翻译代码。
clang编译器在编译的时候只会检查语法错误。
clang编译器只会在链接的时候检查函数有没有真正的实现。
clang指令只能编译C/C++/OC的代码,不能编译swift代码。

相关文章

  • Xcode编译原理

    Xcode编译原理 1.xcode 编译的过程 源文件.c --> 编译 --> 目标文件.o --> 链接 --...

  • run之后发生了什么

    Q:Xcode run之后到底发生了什么? A:Xcode run之后,APP进行了编译(编译原理)、汇编、链接、...

  • 【Xcode编译原理】

    GCC编译器 Xcode4之前,Xcode是用GCC编译器来翻译代码的;GCC编译器是开源免费的编译器 GCC :...

  • 利用Xcode逆向的原理 和 逆向防护

    一、利用XCode进行逆向的原理: XCode真机调试的简单流程: 编译:Clang -> IR ... -> I...

  • 一些标记还未来得及整理的问题

    1、编译器编译原理2、xcode 的 Other linker flags3、OC的消息转发机制4、tcp/ip ...

  • iOS启动时间优化(二)

    前言 之前 启动优化(一)说了二进制重排的原理,今天具体说下实现。 查看链接顺序 Xcode编译过程,会将.m编译...

  • Xcode + 脚本自动化签名

    废话 签名的话, Xcode当然是最专业的, 我们需要为Xcode签名做好准备工作 原理 上图是重签名工程的编译过...

  • Xcode 10 ERROR:"...[CP] Cop

    Xcode 10报错 说明新版Xcode 默认使用New Build System编译,与旧版Xcode项目编译的...

  • Failed to find a suitable device

    Xcode 9 编译运行过后再Xcode 8 中无法编译运行了:

  • Xcode 编译设置

    了解了这么多编译原理,除了写一个自动化编译脚本以外,还可以看懂很多之前完全看不明白的编译错误。在 Xcode 中,...

网友评论

      本文标题:Xcode编译原理

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