诗和远方

GCC编译C程序

Linux

GCC是Linux下一个非常重要的源代码编译工具,有许多重要的选项,支持许多不同语言的编译,如C、C++、Python、Ruby等,甚至Linux的许多内核都是用C语言编写并经gcc编译而成的。


编译:

$gcc hello.c -o hello

编译成功完成后,在当前路径下生成一个名为hello的可执行二进制文件。


说明:

在默认编译成功完成后,会在当前路径下生成一个名为a.out的文件,然后执行$./a.out便可打印结果,但通常可以通过选项-o来指定自己的可执行程序名称



GCC分步编译:


1) 预处理

gcc -E test.c -o test.i

在当前目录下会多出一个预处理结果文件 test.i,打开 test.i 可以看到,在 test.c 的基础上把stdio.h和stdlib.h的内容插进去了。


2) 编译为汇编代码

gcc -S test.i -o test.s

-S参数是在编译完成后退出,-o为指定文件名。


3) 汇编为目标文件

gcc -c test.s -o test.o

.o就是目标文件。目标文件与可执行文件类似,都是机器能够识别的可执行代码,但是由于还没有链接,结构会稍有不同。


4) 链接并生成可执行文件

gcc test.o -o test


如果有多个源文件,可以这样来编译:

    gcc -c test1.c -o test1.o

    gcc -c test2.c -o test2.o

    gcc test1.o test2.o -o test

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Catalog
标签列表
最新
最热
常用网站
站点信息
  • 文章总数:2016
  • 页面总数:1
  • 分类总数:17
  • 标签总数:518
  • 评论总数:0
  • 浏览总数:592287
Archives
Copyright © 2017-2019 www.my889.com Some Rights Reserved.
推荐使用 Chrome 浏览器浏览本站
沪ICP备17052342号
Sitemap XML