1.gcc/g++的概念
gcc/g++是Linux下一款编译器,让代码从一个文本文件(c/cpp)编译为一个可执行程序(.exe)
我们写上一段代码:
//文件名file.cpp
#include<iostream>
using namespace std;
int main()
{
cout << "hello Linux" << endl;
return 0;
}
一个简单的C++打印程序。那怎么让它执行起来呢?
使用g++:
g++ file.cpp
g++ .cpp文件 不带任何选项,默认生成了可执行程序,叫做a.out
gcc只能用来编译C程序,g++可以编译C和C++程序。
2 gcc/g++选项
了解选项之前,首先要了解文件编译为可执行程序的过程,而gcc/g++的选项则对应者这个过程
2.1 预处理阶段
进行C/C++代码的头文件展开、宏替换、去除注释、条件编译等
选项:g++ -E file.cpp -o file.i
-E表示只进行预处理,-o表示编译的结果写入到file.i当中
写的代码不超过十行,头文件展开后变成一万多行
2.2 编译阶段
将生成的目标文件通过语法分析、词法分析、语义分析、符号汇总形成汇编文件(.s)
选项:g++ -S file.i -o file.s