zoukankan      html  css  js  c++  java
  • linux下用gcc如何生成预处理、汇编等文件

    【gcc -E test.c -o test.i------>预处理文件生成.i 文件。】

    1. 1、c语言程序生成过程
    2. C语言程序的生成过程可以简单的分为:编辑、预处理、编译、汇编、链接五个阶断。
    3. 下面所有的操作以hello world程序为例,源码文件命名为t.c,源码内容如下:
    4. #include <stdio.h> 
    5. int main()
    6. {
    7. printf("hello world ");
    8. return 0;
    9. }
    10. 2

      2、预处理阶断

      预处理阶断是对c源码中的预处理代码进行处理。

      gcc -E -o t.i t.c

    11. 3

      3、编译阶断

      编译阶断是将c源码处理为汇编代码。

      gcc -S -o t.s t.i

      或者

      gcc -S -o t.s t.c

    12. 4

      4、汇编阶断

      汇编阶断是将汇编代码处理为二进制代码。

      gcc -c -o t.o t.s

      或者

      gcc -c -o t.o t.c

    13. 5

      5、链接阶断

      链接阶断将二进制代码打包成一个操作系统可以识别的可执行文件格式,linux是elf格式,windows上是pe格式。

      gcc -o t t.o

      或者

      gcc -o t t.c

      1. 6
      2. 6、运行阶断
      3. 运行阶断,有操作系统的可执行文件加载器负责加载并执行程序。
      4. ./t
      linux下用gcc如何生成预处理、汇编等文件
  • 相关阅读:
    C++链式队列基本操作
    C++链栈基本操作
    C++顺序栈基本操作
    C++链表基本操作
    C/C++/JAVA
    C++操作链表
    How Many Maos Does the Guanxi Worth
    Heavy Transportation
    Frogger
    Til the Cows Come Home(Dijkstra)
  • 原文地址:https://www.cnblogs.com/dpf-learn/p/6127750.html
Copyright © 2011-2022 走看看