ninja | 忍者 ninja是一个叫 Evan Martin的谷歌工程师开源的一个自定义的构建系统,最早是用于 chrome的构建,Martin给它取名 ninja(忍者...

ninja | 忍者 ninja是一个叫 Evan Martin的谷歌工程师开源的一个自定义的构建系统,最早是用于 chrome的构建,Martin给它取名 ninja(忍者...
gn是什么? gn 存在的意义是为了生成 ninja,如果熟悉前端开发,二者关系很像 Sass和CSS的关系.为什么会有gn,说是有个叫even的谷歌负责构建系统的工程师在使...
构建的必要性 前端开发有构建工具:Grunt、Gulp、Webpack 后台开发有构建工具: Maven、Ant、Gradle 构建工具重要性不言而喻,它描述了整个工程的如何...
很香的 Docker 如果只是为了编译鸿蒙,初级的接触鸿蒙,docker是很香的,从第一次接触docker就对它爱不释手, 脏活累活它干了,少了太多的麻烦. docker 编...
一个.c源文件编译的整个过程如图. 编译过程要经过:源文件 --> 预处理 --> 编译(cc1) --> 汇编器(as) --> 链接器(ld) --> 可执行文件(PE/...
可执行文件和共享目标文件(动态连接库)是程序的静态存储形式.要执行一个程序,系统要先把相应的可执行文件和动态连接库装载到进程空间中,这样形成一个可运行的进程的内存空间布局,也...
一个程序从源码到被执行,当中经历了3个过程: 编译:将.c文件编译成.o文件,不关心.o文件之间的联系. 静态链接:将所有.o文件合并成一个.so或.out文件,处理所有.o...
下图是一个可执行文件编译,链接的过程. 本篇将通过一个完整的小工程来阐述ELF编译,链接过程,并分析.o和bin文件中各区,符号表之间的关系.从一个崭新的视角去看中间过程. ...
ELF,它实在是太重要了,内核加载的就是它,不说清楚它怎么去说清楚应用程序运行的过程呢.看到下面这一坨一坨的,除了.text,.bss,.data听过见过外,其他的咱也没啥交...