GNU CC(通常称为GCC)是GNU项目的编译器,它能够编译C、C++语言编写的程序。
gcc是Linux开发的基础,gcc能够支持多种不同的C语言版本,同时提供Linux、Unix、Windows下的编译版本。
目前Windows下C/C++主要的编译器有Borland C++、VC++,但由于gcc是免费的,同时对代码的兼容性做的更加出色,所以在windows的C/C++编译器市场gcc的份额也越来越大。
#include <stdio.h>
int main(void)
{
printf(“Hello world ”);
return 0;
}
$gcc -o hello hello.c
$gcc -o hello1.c -E hello.c
$gcc -o hello.o -c hello1.c
$gcc -o hello hello.o
参 数 |
含 义 |
-o filename |
输出文件名,如果没指定filename,默认为a.out |
-c |
只编译,不链接 |
-E |
预编译 |
-g |
包含调试信息 |
-l |
链接指定的库文件 |
-O |
优化编译后的代码 |
-w |
关闭所有告警信息 |
扩展名 |
含 义 |
c |
C语言源文件 |
cpp |
C++源文件 |
s |
汇编语言源文件 |
o |
编译后的目标代码文件 |
a,so |
编译后的库文件 |
$gcc -o hello hello.cpp
/tmp/cc65uzwL.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
$gcc –lstdc++ -o hello hello.cpp
rpm -ivh libstdc++-devel-4.4.6-4.el6.i686.rpm
rpm -ivh gcc-c++-4.4.6-4.el6.i686.rpm
rpm -ivh libstdc++-devel-4.4.6-4.el6.i686.rpm
rpm -ivh gcc-c++-4.4.6-4.el6.i686.rpm