编译器gcc

由自由软体基金会发布,gcc是基于* nix开发的C编译器通常透过命令列操作,gcc常常跟*nix的安装一起派发,所以如果你有执行Unix或是Linux变种你可能已经有安装这个程式了,你可以藉着输入下列命令在原始码程式档案上调用gcc

gcc 档案名称

[adsense][/adsense]
gcc预设的可执行输出是”a.out”,你可以输入”./a.out”来执行程式,也可以在命令列使用下列命令来指定可执行档案的名称

-o 输出档案

,就像下面的例子这样:

gcc 档案名称 -o 输出档案

尽早捕捉问题

为了编译时可以启用所有的警告以及可以产生ANSI C相容的程式码,我建议使用这些旗标

-Wall -ansi

你也可以参阅编译器警告的值

如果你想要编译器处理警告成为错误–亦即你不会得到执行档,你可以使用 -Werror旗标,这可以确定你不会错过任何的错误。

预备好GDB的程式码

如果你想要预备你的执行档可以使用GDB,请加入-g旗标。

gcc 档案名称 -g -o 输出档案

这样可以在执行档中加入额外的程式码来允许GDB给你详细的除错资讯,允许GDB找出变数名称跟列出原始码。

数学函式库

如果你需要使用数学函式库的函式(通常函式像sin 或 sqrt来自 math.h),那么你需要明确地连结有-l旗标跟函式库’m’的函式库:

gcc 档案名称 -o 输出档案 -lm

注意在C++里面不需使用这个旗标。

想了解更多

如果你是用*nix系统,你也可以输入下列命令来检视其他的gcc命令列选项

man gcc

建构动态连结程式库

如果你想要学习如何在Linux上使用GCC建构动态连结程式库,检视这篇如何在Linux上使用建构动态连结程式库文章。