background image

gcc and g 编译器和 gdb 调试器

gccandg 分别是 gnu 的 c&C 编译器

gcc/g 在执行编译工作的时候,总共需要 4 步
1.预处理,生成.i 的文件[预处理器 cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器 egcs]
3.有汇编变为目标代码(机器代码)生成.o 的文件[汇编器 as]
4.连接目标代码,生成可执行程序[链接器 ld]
[参数详解]
-xlanguagefilename
  设定文件所使用的语言

,使后缀名无效,对以后的多个有效.也就是根

  据约定

C 语言的后缀名称是.c 的,而 C 的后缀名是.C 或者.cpp,如果

  你很个性,决定你的

C 代码文件的后缀名是.pig 哈哈,那你就要用这

  个参数

,这个参数对他后面的文件名都起作用,除非到了下一个参数

  的使用。
  可以使用的参数吗有下面的这些
    

`c',`objective-c',`c-header',`c ',`cpp-output',

    

`assembler',and`assembler-with-cpp'.

  看到英文,应该可以理解的。
  例子用法

:

  

gcc-xchello.pig

  
-xnonefilename
  关掉上一个选项,也就是让

gcc 根据文件名后缀,自动识别文件类型

  例子用法

:

  

gcc-xchello.pig-xnonehello2.c

  
-c
  只激活预处理

,编译,和汇编,也就是他只把程序做成 obj 文件

  例子用法

:

  

gcc-chello.c

  他将生成

.o 的 obj 文件

-S
  只激活预处理和编译,就是指把文件编译成为汇编代码。
  例子用法
  

gcc-Shello.c

  他将生成

.s 的汇编代码,你可以用文本编辑器察看

-E