美文网首页
1.编译过程都做了什么事情

1.编译过程都做了什么事情

作者: aofeilin | 来源:发表于2018-09-13 18:08 被阅读39次

.编译过程都做了什么事情

1.C++ OC都是编译语言,编译语言在执行时候,先通过编译器生成机器码,机器码可以直接

在CPU上执行。

2.编译 apple 编译前端 clang 语法分析,语义分析

编译后端,生成机器无关的代码优化。

1. objc. https://www.objccn.io/issue-6-1/

编译过程做了什么事情:

1.https://www.jianshu.com/p/b027a8c4c3a3

  1. com+b 点击消息,点击build,查看编译信息,

1.如果工程有第三方依赖库,首先会build依赖库target,然后build主target。

compile各个.m文件

copy静态资源,包括img,string,font。

compile xib

compile storyboard

compile asset catalogs

process info.plist

link storyboards

run custom script

touch app

sign app

validate app(真机build有)

3.黏贴complies 一行可以看到CompileC这个文件,

可以看到 -W -c path/main.m -o path/main.o 对应类的编译输出.o

libtool:产生 lib 的工具 构建库

4.https://www.cnblogs.com/lilylee/p/4053926.html

下面的命令用了有一段时日了,下次试一下确认一下如果有错再来编辑原文吧(果然有更新,修改一次)。

利用llvm-gcc很容易得到中间码IR:

llvm-gcc -emit-llvm -c hello.c -o hello.bc (先编译二进制码)

llvm-dis hello.bc (llvm-dis出来的就是IR)

好像llvm-gcc -S -emit-llvm test.c -o test.ll 也是中间码。 .ll的后缀是中间码

利用objdump可以得到机器码:

objdump -S test.o (这里的-S一定是大写)

相关文章

  • 1.编译过程都做了什么事情

    .编译过程都做了什么事情 1.C++ OC都是编译语言,编译语言在执行时候,先通过编译器生成机器码,机器码可以直接...

  • 面试

    淘宝-P6 1.查找字符串算法 2数组匹配算法 3.代码文件编译生成过程,编译和链接有什么区别,链接做了什么事情 ...

  • 编译过程做了哪些事情

    编译器结构clang是编译器前端,llvm是编译器后端,clang主要做一些语法语义分析, 如果有错误在这里就发现...

  • 作用域-javascript

    1.编译理论 传统的语言编译过程,会经过三步编译步骤(js的编译过程实际会复杂很多):1.标记/词法分析:var ...

  • 程序员的自我修养

    程序员的自我修养:编译、链接、装载 问题 编译/链接的过程做了什么 目标/可执行文件的内容是什么 装载的过程做了什...

  • 编译

    编译和链接 编译过程 预编译 生成.i 文件 不包含任何宏定义,宏被展开 编译 汇编 链接 编译器做了什么 词法分...

  • Linux编程环境

    本文内容:1. 编译过程2. GCC编译器3. Makefile4. 使用GDB调试程序 1. 编译过程 2. G...

  • ijkplayer编译和示例demo运行

    目录 编译过程 示例demo运行 参考 1. 编译过程 这里使用了unbuntu16.04环境进行的编译,步骤比较...

  • 函数,从编辑到编译 (下) -- 一文带你了解编译 链接

    上篇的链接在这里:函数,从编辑到编译 (上) --带你了解预编译做了什么 下面继续: 2. 编译 所谓编译过程,就...

  • C语言编译介绍—GCC编译

    编译流程图 ​ 编译过程 1.预处理(Preprocessing), 2.编译(Compilation), 3.汇...

网友评论

      本文标题:1.编译过程都做了什么事情

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