如何使用gcc编译器(1)180940643
这是一篇介绍如何使用gcc编译器的文章,看了过后会对编译器的了解有所提高,同时也可以使用gcc来查看编译过程中的一些信息。
如何使用gcc编译器?
目录:
· GCC rules
· 开始...
· 预编译
· 编译
· 汇编
· 连接
· 另外两个重要选项
· 调试
· 小结
· 站点链接
摘要:
要想读懂本文,你需要对C语言有基本的了解,本文将介绍如何使用gcc编译器。 首先,我们介绍如何在命令行方式下使用编译器编译简单的C源代码。 然后,我们简要介绍一下编译器究竟作了那些工作,以及如何控制编译过程。 我们也简要介绍了调试器的使用方法。
GCC rules
你能想象使用封闭源代码的私有编译器编译自由软件吗?你怎么知道编译器在你的 可执行文件中加入了什么?可能会加入各种后门和木马。Ken Thompson是一个著名 的黑客,他编写了一个编译器,当编译器编译自己时,就在''login''程序中留下后门 和永久的木马。请到 这里 阅读他对 这个杰作的描述。幸运的是,我们有了gcc。当你进行 configure; make; make install 时, gcc在幕后做了很多繁重的工作。如何才能让gcc为我们工作呢?我们将开始编写一个纸牌游戏, 不过我们只是为了演示编译器的功能,所以尽可能地精简了代码。 我们将从头开始一步一步地做,以便理解编译过程,了解为了制作可执行文件需要 做些什么,按什么顺序做。我们将看看如何编译C程序,以及如何使用编译选项 让gcc按照我们的要求工作。步骤(以及所用工具)如下: 预编译 (gcc -E), 编译 (gcc), 汇编 (as),和 连接 (ld)。
开始...
首先,我们应该知道如何调用编译器。实际上,这很简单。我们将从那个著名的第一个C程序开始。 (各位老前辈,请原谅我)。
#include
int main()
{
printf("Hello World!n");
}
把这个文件保存为 game.c。 你可以在命令行下编译它:
gcc game.c
在默认情况下,C编译器将生成一个名为 a.out 的可执行文件。 你可以键入如下命令运行它:
a.out
Hello World
数据正在载入中..
