如何使用gcc编译器(1)

这是一篇介绍如何使用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

 

投 票

觉得本文不错,投一票   

评 论


验证码: 看不清?换一张