GNU
是“GNU is Not Unix”的递归缩写,又称革奴计划,是由RichardStallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。
GCC
是GNU编译器集合(GNUCompiler Collector)的缩写,GNU编译器集合包括C,C++,Object-c,Fortran,JAVA和Ada的前端以及这些语言对应的库(libstdc++,libgcj,…),早期的gcc是指GNU的C语言编译器(GNU C Compiler),随着C++等语言的加入,gcc的含义才变化成了GNU编译器集合,C作为gcc的原生语言,故编译时不需要额外选项。
C、C++在GCC下的编译
1.编译环境的安装
sudo apt-get install build-essential (如果需要编译Fortran ,那么需要安装gfortran或g77)
2.C程序编译
1)简单C程序
#include<stdio.h>
void main()
{
printf("hello world!\n");
}
将
以上文件保存为 hello.c ,要用gcc编译文件,使用:
编译:gcc -g -Wall hello.c -o hello
该命令将文件hello.c中的代码编译为机器码并存储在可执行文件hello中,机器码的文件名是通过-o指定的,如果被省略,输出文件默认为a.out,且如果当前目录中与可执行文件重名的文件会被覆盖。
-Wall:开启编译器几乎所有常用的警告
-g:表示在生成的目标文件中带调试信息,调试信息可以在程序异常终止产生core后,帮助分析错误产生的源头,包括产生错误的文件名和行号等非常多有用的信息。