GCC编译C程序指南

需积分: 9 1 下载量 199 浏览量 更新于2024-07-30 收藏 346KB PDF 举报
"GCC使用说明,Linux C语言开发" 在Linux环境下进行C语言开发,GCC(GNU Compiler Collection)是一个必不可少的工具。GCC不仅支持C语言,还支持C++、Objective-C、Fortran、Ada以及Go等多种编程语言。这篇使用说明主要针对C语言的编译过程。 首先,确保你的系统已经安装了基本的编译环境。在Ubuntu或者Debian类系统中,可以使用以下命令安装`build-essential`包,这个包包含了GCC和其它必要的构建工具: ```bash sudo apt-get install build-essential ``` 如果需要编译Fortran程序,你需要额外安装gfortran或g77,例如: ```bash sudo apt-get install gfortran ``` 对于初学者,C语言的典型入门程序是“Hello, World!”。下面是一个简单的C语言代码示例: ```c #include<stdio.h> int main(void) { printf("Hello, world!\n"); return 0; } ``` 将这段代码保存为`hello.c`。然后使用GCC来编译这个程序,命令如下: ```bash gcc -Wall -g hello.c -o hello ``` 这条命令做了几件事情: 1. `-Wall`选项启用了所有常见的编译器警告,这对于检测潜在问题非常有帮助。 2. `-g`选项告诉GCC在生成的目标文件中包含调试信息,方便使用GDB等调试器进行调试。 3. `hello.c`是源代码文件,GCC会读取这个文件进行编译。 4. `-o hello`指定输出的可执行文件名为`hello`。如果不指定,GCC默认会生成`a.out`。 运行编译后的程序,只需在终端输入: ```bash ./hello ``` 程序将输出“Hello, world!”。 然而,如果你的代码有错误,GCC的警告信息会非常有用。比如,如果你错误地使用了浮点数控制符`%f`来打印整数,如: ```c #include<stdio.h> int main(void) { printf("Twoplus two is %f\n", 4); return 0; } ``` 这段代码虽然可以编译通过,但会产生警告。`%f`用于格式化输出浮点数,而4是一个整数。正确的做法应该是使用`%d`。运行`gcc`时,`-Wall`会捕获这种错误: ```bash gcc -Wall -g hello.c ``` 警告信息会提示你`format ‘%f’ expects argument of type ‘double’, but argument 2 has type ‘int’`,这样你就知道应该修正`printf`的格式字符串。 调试信息(由`-g`选项提供)在程序运行出错时特别有用。例如,如果程序因某种原因崩溃并产生了核心转储(core dump),你可以使用GDB(GNU Debugger)来分析错误发生的具体位置,包括文件名、行号等详细信息。 了解和熟练使用GCC是Linux环境下C语言开发的基础。正确设置编译选项,尤其是启用警告,能够帮助你编写出更健壮、更符合标准的代码。