美文网首页
gcc编译器编译过程

gcc编译器编译过程

作者: B_____b | 来源:发表于2019-04-08 16:45 被阅读0次

第一步:预处理阶段

终端编译代码: gcc -E demo1.c -o demo1.i   对demo1.c作预处理生成demo1.i

1)头文件展开

2)宏替换(傻瓜式替代)

傻瓜式替代例:

#include

#define Phi 3+3//宏

#define add(x) x+x//带参宏

int main(int argc,char ** argv){

       printf("%d\n",Phi*Phi);//3+3*3+3  傻瓜式替代

       printf("%d\n",add(3)*add(3));//3+3*3+3

       return0;

}

3)去注释

4)上标记(给每一行代码标记上行号)

第二步:编译阶段

终端编译代码:gcc -S demo1.i -o demo1.s

编译阶段,计算机会对需要编译的文件进行词法、语法、语义分析,并进行优化以及确保正确。当以上所有语法正确时,生成汇编文件。这个整个编译过程中最核心最重要的一步。

第三步:汇编阶段

终端编译代码:gcc -c demo1.s -o demo1.o

将每一条汇编语言,汇编成计算机能识别的计算机语言

第四步:   链接阶段

终端编译代码:gcc demon1.o -o demon1

将汇编文件链接动态库及静态库,生成可执行文件

相关文章

  • 【Xcode编译原理】

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

  • gcc编译器编译过程

    第一步:预处理阶段 终端编译代码: gcc -E demo1.c -o demo1.i 对demo1.c作预处理生...

  • gcc和g++版本之间切换

    gcc:gcc (GNU编译器套件) 编辑GNU编译器套件(GNU Compiler Collection)包括C...

  • 0基础自学linux运维-5.8-linux C编译基础

    一、GCC编译器 1.1 什么是GCC GNU编译器套件(GNU Compiler Collection) GNU...

  • 安装 nginx

    一、使用nginx必备软件 GCC 编译器yum install -y gcc G++ 编译器yum insta...

  • GCC/Clang编译器浅谈

    GCC和Clang编译器浅谈GCC是Linux上使用的编译器,Clang是Mac上使用的编译器,两者命令格式基本相...

  • make与configure

    因为gcc的编译器来进行编译过程过于复杂,所以源码编译软件包安装时会通过configure和make进行编译过程简...

  • CentOS 7 升级gcc/g++编译器

    CentOS 7 升级gcc/g++编译器参考链接:CentOS 7 升级gcc/g++编译器[https://b...

  • 浅谈LLVM编译器

    GCC Xcode 最早的编译器(Xcode 3.0及之前版本)不太智能,因为当时Xcode 当前的编译器是GCC...

  • 2021-02-19 cc/gcc/g++/CC

    gcc全称是Gun C语言编译器。原本只能处理C语言,gcc很快地扩展,现在的gcc可以说是GNU编译器集合(可编...

网友评论

      本文标题:gcc编译器编译过程

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