gcc 和 g++ 语言编译器

gcc 能够支持多种 C 语言的变体,例如 K&RC 和 ANSIC;GCC 也是一个交叉平台编译器,能够开发不同 CPU 体系结构的软件;同时,GCC 也能够进行代码优化,提高执行程序的运行速度。g++是构建于 gcc 基础上的 C++语言编译器。
gcc 编译过程分为 4 个阶段:

预处理
编译
汇编
连接


最简单的 C 语言编译的例子:
用 vi 建立一个 hello.c 文件

$vi hello.c


输入字符 i,插入以下文本

/*
* hello.c
*/
#include 
int main(void)
{
printf(“Hello World!\n”);
return 0;
}

​


最后输入字符:wq,返回命令行,键入以下编译命令:

$gcc hello.c


如果没有错误 gcc 将生成默认的可执行文件 a.out,执行 a.out:

$./a.out
Hello World!
$


gcc 带有多达数页的编译选项,我们仅列出最常用的几项:

-o 可执行文件名 指定输出的可执行文件名,而不是默认的 a.out
-c 只编译生成.o 的目标文件,不连接生成可执行文件
-s 只编译生成.s 的汇编文件,不连接生成可执行文件
-g 在可执行文件中加入标准调试信息
-Wall 允许 GCC 发出警告型错误信息


选项使用的例子:
对以上 hello.c 使用-o,-g 常用选项重新编译、执行:

$gcc -g hello.c -o hello
$./hello
Hello World!
$


GCC 默认的扩展文件名:
 

.c C 语言源代码
.C .cc C++语言源代码
.i 预处理后的 C 语言源代码
.ii 预处理后的 C++语言源代码
.S .s 汇编语言源代码
.o 编译后的目标代码
.a .so 编译后的库代码

你可能感兴趣的:(c++,开发语言)