zoukankan      html  css  js  c++  java
  • gcc编译器用法(自学总结)

    GCC仅仅意味着GNU C Compiler。

    gcc工作四个步骤:预处理,编译,汇编,连接。

    1.预处理:

       编译器将C源代码中的包含的头文件如stdio.h编译进来,用户可以使用gcc的选项”-E”进行查看。
       用法:#gcc -E hello.c -o hello.i

    2.编译:

       在这个阶段中,Gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,Gcc把代码翻译成汇编语言。用户可以使用”-S”选项来进行      查看,该选项只进行编译而不进行汇编,生成汇编代码。
    选项 -S
      用法: gcc –S hello.i –o hello.s
      作用:将预处理输出文件hello.i汇编成hello.s文件。

    3.汇编:

      这个阶段是把编译阶段生成的”.s”文件转成二进制目标代码.
    选项 -c
    用法: gcc –c hello.s –o hello.o
    作用:将汇编输出文件test.s编译输出test.o文件。

    4.链接:

      这个阶段实际就是链接地址,比如去动态库找被调用的函数。

    用法:gcc hello.o –o hello.exe
    作用:将编译输出文件hello.o链接成最终可执行文件

    【补充】

        arm-linux-gcc   -E      停留在预处理阶段

        arm-linux-gcc   -S      停留在编译阶段,这时候的输出文件是汇编语言。

        arm-linux-gcc    -c      停留在汇编阶段,这时候生成了二进制文件

        arm-linux-ld   -Ttest=0x xxxxxxxx   指定代码段的入口地址

        arm-linux-objcopy - I elf32-littlearm -O binary  xxx.bin   去头生成机器码

        arm-linux-objdum -h   反汇编

        arm-linux-as    汇编器

    利用strace ./a.out 可以跟踪程序的执行过程

  • 相关阅读:
    检查IP地址是否有效(delphi)
    Oracle 常用操作
    DBGrid中顯示行號的終極解決方案(Delphi篇)
    从零开始学Java 第24章 网络聊天室
    JavaScript的循环结构和经典题目
    html5/css3布局(一)
    html常用的基本标签
    HTML5——css基础语法
    JavaScript函数使用和DOM节点
    C语言Ⅰ|博客作业07
  • 原文地址:https://www.cnblogs.com/jfyl1573/p/6257004.html
Copyright © 2011-2022 走看看