美文网首页
查看OC源代码编译过程

查看OC源代码编译过程

作者: 异乡人_4f2a | 来源:发表于2020-02-18 16:25 被阅读0次

    1、终端中查看代码的整个编译过程

    输入以下命令:

    clang -ccc-print-phases 类名

    0: input, "Person.m", objective-c

    1: preprocessor, {0}, objective-c-cpp-output      预处理

    2: compiler, {1}, ir          编译器前端生成IR中间代码

    3: backend, {2}, assembler          编译器后端生成汇编代码

    4: assembler, {3}, object          生成目标代码

    5: linker, {4}, image                链接一些动态库

    6: bind-arch, "x86_64", {5}, image    生成适合某个架构的代码

    2、查看预处理

    输入以下命令:

    clang -E 类名

    3、查看词法分析

    输入以下命令:

    clang -fmodules -E -Xclang -dump-tokens main.m

    4、查看生成的语法树-AST

    语法分析生成语法树

    输入以下命令:

    clang -fmodules -fsyntax-only -Xclang -ast-dump main.m

    5、LLVM IR(中间代码)

    LLVM IR有三种表现形式:

    text:便于阅读的文本格式,类似于汇编语言,拓展名为.II。clang -S -emit-llvm main.m

    memory:内存格式

    bitcode:二进制格式,拓展名为.bc。 clang -c -emit-llvm main.m

    6、IR基本语法:

    注释以分号开头;

    全局标识符以@开头,局部标识符以%开头

    alloca:在当前函数栈帧中分配内存

    align:对齐

    store:写入数据

    load:读取数据

    相关文章

      网友评论

          本文标题:查看OC源代码编译过程

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