码迷,mamicode.com
首页 > 其他好文 > 详细

gcc

时间:2018-05-12 02:51:28      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:分享图片   esc   二进制   处理   gdb调试   调用   预处理   预处理器   view   

1.gcc 的工作流程

  • 预处理(选项:E,调用<预处理器cpp>完成预处理)
    • 宏替换
    • 头文件展开
    • 注视去掉
    • .c -> .i
  • 编译(选项:S,也只有这一步是gcc自己完成的)
    • .i -> .s
  • 汇编(选项:c,调用<汇编器as>)
    • .s -> .o
    • 二进制文件
  • 链接(调用<链接器ld>)
    • .o -> .out

源文件(hello.c)预处理 cpp/gcc -E  -> C文件(hello.i)编译器 gcc -S -> 汇编文件(hello.s)汇编器 as/gcc -c -> 二进制文件(hello.o)链接器 ld/gcc -> 可执行文件(hello.out)

  ESc-iso

技术分享图片
1 # gcc -E hello.c -o hello.i
2 # gcc -S hello.i -o hello.s
3 # gcc -c hello.s -o hello.o
4 # gcc hello.o
View Code

2.常用参数

  • -v/--version

    gcc版本信息

  • -I

    大写i,编译的时候,指定头文件的路径。

  • -c

    把汇编文件,汇编成二进制文件。

  • -O

    指定生成文件的名字

  • -g

    gdb调试的时候需要该选项,链接的库都有差异

  • -D

    大写d,编译时指定宏

  • -Wall
  • -On

 

gcc

标签:分享图片   esc   二进制   处理   gdb调试   调用   预处理   预处理器   view   

原文地址:https://www.cnblogs.com/argor/p/9026617.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!