在命令行中编译并运行 C++ 程序
--阅读《 C++ primer》读书笔记
很多初学者写完第一个 C++ 程序后,不知道如何在命令行中编译并运行。博主学了c++一年多了,一直都在IDE中开发,今天偶然学习到用命令行的方式,逐步编译运行代码,这也是为了马上要学习的Linux打点基础吧!
本文将以 Windows 系统 为例,介绍从创建文件到编译运行的完整流程,并简要说明 cl 和 g++ 两种编译器的用法。
1. 创建并编辑源文件
首先,打开命令行窗口(cmd 或 PowerShell),切换到目标文件夹,例如:
cd C:\hello接着,使用记事本创建并编辑一个源文件:
notepad hello.cpp执行后会弹出记事本,输入你的 C++ 代码并保存。
2. 使用 MSVC 编译器(cl)
如果你安装了 Visual Studio 的开发者工具(自带 MSVC 编译器),可以直接在命令行中使用 cl 命令进行编译。
语法如下:
cl /EHsc hello.cpp编译完成后,会在当前目录下生成:
- 一个
.obj文件(目标文件) - 一个
.exe文件(可执行程序)
此时只需运行 exe 文件即可:
hello.exe易错点:
C:\hello>cl /EHsc hello.cpp 'cl' 不是内部或外部命令,也不是可运行的程序 或批处理文件。当你编译时报错,这是因为c1.exe 并不是用户直接调用的编译器命令,它是 MSVC 编译器(cl.exe)底层调用的一个编译器内核程序。所以需要打开vs的命令行窗口(如图红箭头),当然,要是直接想在cmd中编译以及运行,可以看看第二种方法。

3. 使用 GNU 编译器(g++)
如果你安装了 MinGW 或其他支持 Windows 的 GNU 编译器,也可以使用 g++ 来编译。
检测是否按照gcc的命令:
gcc --version
编译语法如下:
g++ hello.cpp -o hello这里:
hello.cpp是源文件-o hello表示输出一个名为hello.exe的可执行文件
编译成功后,运行:
hello.exe即可看到程序的输出。
4. 小结
- 在 Windows 下,
cl和g++都能编译 C++ 程序,最终得到的是.exe文件。 - 在 Linux / macOS 下,使用
g++编译时默认生成a.out,运行时需要输入./a.out,或者通过-o参数指定输出文件名。