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\n”);
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