1. GCC
GNU编译器套装(英语:GNU Compiler Collection,缩写为GCC),指一套编程语言编译器,以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分,也是GNU工具链的主要组成部分之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。1985年由理查德·马修·斯托曼开始发展,现在由自由软件基金会负责维护工作。
原名为GNU C语言编译器(GNU C Compiler),因为它原本只能处理C语言。GCC在发布后很快地得到扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、Objective-C、Java、Ada,Go与其他语言。
许多操作系统,包括许多类Unix系统,如Linux及BSD家族都采用GCC作为标准编译器。
GCC原本用C开发,后来因为LLVM、Clang的崛起,它更快地将开发语言转换为C++。许多C的爱好者在对C++一知半解的情况下主观认定C++的性能一定会输给C,但是Ian Lance Taylor给出了不同的意见,并表明C++不但性能不输给C,而且能设计出更好,更容易维护的程序[2][3]。
2.更新安装GCC
更新包列表:
sudo apt update
安装build-essential软件包
sudo apt install build-essential
验证GCC编译器是否已成功安装
gcc --version
3.练习
先来一个hello world试试水
vim hello.cpp
#include <stdio.h>
int main()
{
printf ("Hello World!\n");
return 0;
}
键入gcc hello.cpp
不适用-o 指定时会在运行该命令的同一目录中创建名为a.out的二进制文件。
键入 ./a.out 执行程序
运行成功。
4.g++多文件编译
car.h文件
#ifndef CAR_H
#define CAR_H
class car{
private:
int id;
int type;
public:
car(int id, int type);
void dudu();
};
#endif
car.cpp文件
#include<iostream>
#include"car.h"
using namespace std;
car::car(int id, int type){
this->id = id;
this->type = type;
}
void car::dudu(){
cout<<"type:"<<type<<" speak out!"<<endl;
}
main.cpp文件
#include<iostream>
#include"car.h"
using namespace std;
int main(){
car taxi(12354, 0);
taxi.dudu();
return 0;
}
键入 g++ main.cpp car.cpp car.h
键入 ./a.out
成功编译运行。
5.makefile
新开。
Comments NOTHING