安装g++编译器
我采用的Centos系统没有默认的g++编译器。首先你可以看一下自己当前环境是否安装了g++
打开Terminal终端执行如下命令
[root@yanlong~]#which g++
/usr/bin/g++
如果未安装可以在终端执行如下命令:
yum install gcc-c++
如果提示你需要root权限,可以输入su命令进行root用户模式
g++命令执行C++项目
c或c++项目的执行过程分成四步,依次是预处理,编译,汇编和链接
c++编程中文件有头文件(.h后缀)和源文件(.cpp后缀),在执行项目时,头文件是不需要经过四个过程,只有源文件需要经历这四个过程,假设现在有main.cpp和player,cpp文件
1.经历预处理阶段,执行如下命令:
g++ -E main.cpp -o main.i
g++ -E player.cpp -o player.i
其中,-E选项用于限定g++编译器只进行预处理过程,-O选项用于指定生成文件的名称。Linux系统中,通常用" .i "作为c++程序处理后所得文件的后缀名
2.经历编译阶段,对预处理得到的文件做进一步的语法分析,生成相应的汇编代码文件。
g++ -S main.i -o main.s
g++ -S player.i -o player.s
3.经历汇编阶段,将汇编代码文件转换成可执行的机器指令
g++ -C main.s -o main.o
g++ -C player.s -o player.o
4.链接阶段,将所有目标文件组织成可执行的二进制文件
g++ -C player.o main.o -o player.exe
如果不用-O指定可执行文件的名称默认会生成 .out 可执行文件。Linux系统并不以文件的扩展名区分文件类型, .out和.exe 都是可执行文件
这四个阶段,文件的生成不分先后,只要保证所有源文件都要经历这四个过程,最终会生成 .exe可执行文件
上述只是学习一个程序如何从源文件到可执行文件的过程,可以执行如下命令一步到位
[root@yanlong~]#g++ -C player.cpp main.cpp -o player.exe
[root@yanlong~]#./player.exe