在Linux环境下使用C++进行开发,最基础也最重要的能力就是掌握命令行编译与运行。不同于Windows下常见的图形化IDE,Linux更强调通过终端直接调用编译器完成构建。通常系统自带或可通过包管理器安装g++编译器,它是GNU推出的C++编译器,能很好支持标准C++。

一、准备源代码文件
首先编写一个简单的C++源文件,例如 hello.cpp,内容如下:
#include <iostream>
using namespace std;
int main() {
// 输出一行文字
cout << "Hello Linux C++" << endl;
return 0;
}
二、单文件命令行编译与运行
在终端中进入源文件所在目录,使用g++命令编译。最基本用法是指定源文件与输出文件名:
# 编译hello.cpp生成可执行文件app g++ hello.cpp -o app # 运行生成的可执行文件 ./app
如果省略 -o app,g++会默认生成名为 a.out 的文件,使用 ./a.out 即可执行。
常用编译参数
- -Wall:开启常用警告,帮助发现潜在问题
- -std=c++11:指定C++标准版本
- -g:生成调试信息,便于用gdb调试
示例开启警告并指定标准:
g++ -Wall -std=c++11 hello.cpp -o app
三、多文件编译基础
当项目包含多个源文件时,可分别编译为目标文件再链接:
# 编译两个源文件并链接 g++ main.cpp calc.cpp -o program
也可以先生成 .o 目标文件:
g++ -c main.cpp -o main.o g++ -c calc.cpp -o calc.o g++ main.o calc.o -o program
四、编译流程简要说明
g++在后台依次完成预处理、编译、汇编与链接。使用 -E、-S、-c 参数可分别观察各阶段输出。理解这些阶段有助于排查头文件或链接错误。
| 参数 | 作用 |
|---|---|
| -E | 仅预处理,展开宏与头文件 |
| -S | 生成汇编代码 |
| -c | 编译为目标文件不链接 |
五、运行与权限
生成的可执行文件需有运行权限,一般编译后默认具备。若提示权限不足,可执行:
chmod +x app ./app
掌握以上命令行编译运行方式,就能在任意Linux服务器或本地环境快速构建C++程序,为后续使用Makefile或CMake打下基础。