【原】gcc生成从编译-生成执行各种文件步骤

热度 1已有 1556 次阅读2012-12-4 09:37 |个人分类:Linux| 目标, 执行文件, 编译器, 源文件

(1)从源文件到可执行文件,一共包括4个过程:生成预编译文件,生成汇编文件,生成目标文件,生成可执行文件。
(2)查看一个编译过程所使用的编译器,汇编器,链接方式,可以通过gcc  -c  生成可执行的文件 源文件 -v来查看,-v就是查看编译过程的主要参数。
(3)下面是4个过程的命令方式:
      1、生成预编译文件,命令:gcc  -E  -o  *.cpp  *.c  ,*.cpp即为预编译文件。
      2、通过预编译文件生成汇编文件,命令:gcc  -x  cpp-output   -S  -o  *.s  *. cpp,即可通过*.cpp生成*.s。
            注:也可通过gcc  -S  *.c可从源文件直接生成汇编文件。  
      3、通过汇编文件生成目标文件,命令:  gcc   -x  assembler  -c  test.s,将汇编文件生成目标文件。
            注:也可通过gcc  -c *.c 将源文件直接生成*.o文件
                   使用汇编器as -o *.o test.s从汇编文件 生成目标文件
      4、通过目标文件生成可执行文件,命令:gcc -o 可执行文件名 *.o 
            注:可直接通过gcc  -o  可执行文件名  *.c 通过源文件直接生成。
  
   -x :指定命令的步骤,个人理解就是用户指定gcc怎么命令的,如上面(3)-2中我们看到使用了-x来指定下面编译器是怎么编译的。
   -S: 要说明的是在生成汇编文件后就停止,不再进行汇编,这样就可以得到汇编文件。
   -E: 生成预编译文件后不再进行编译,这样就可以得到预编译文件。
   -o:可以理解成目标是要生成什么,一般后面直接跟需要生成的文件。
   cpp-output:指明从预处理得到的文件开始编译,即从*.cpp开始往后
  

路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

返回顶部