本节完成第一个 C++ 程序,并说明从源码到可执行文件的基本流程。多数读者可直接使用本站在线编译器编写、编译并运行示例,无需先安装 Visual Studio 或完整本地工具链;若课程要求提交本地工程,文末也给出可选的安装与编译命令。

本站在线运行(推荐入门)

打开 C++ 在线编译器:在页面中编辑 .cpp 源码,点击运行后由服务端完成编译与执行,编译诊断与程序输出会显示在结果区域。与本教程前几章的语法、标准输入输出练习兼容;后续涉及多文件工程或第三方库时,以课程指定的构建方式为准。

教程中部分示例带有运行按钮,会打开预设代码的测试页,逻辑与上述在线编译器相同。若本机尚未配置环境,建议先以在线编译器跟练下文 Hello World,再按需安装 g++ 体验终端中的编译命令。

本地工具链(可选)

C++ 程序通常使用 g++ 或 clang++ 编译。仅在需要离线练习或作业要求本地构建时再配置。各系统的安装入口与 g++ 命令写在文末可选:本地安装与编译命令;若已熟悉 C 语言环境搭建,本地 GCC 往往可同时编译 C 与 C++,但 C++ 需加 -std=c++17 等选项以启用现代特性。

第一个程序:Hello, World!

下列程序使用 C++ 标准库中的输入输出流,在在线编译器中可直接粘贴运行;也可保存为 hello.cpp 在本地编译。

C++ 第一个程序 Hello World运行
#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

输出:

Hello, World!

若已安装本地编译器,可在终端执行:

g++ -std=c++17 -Wall hello.cpp -o hello
./hello          # Windows 下为 hello.exe

-Wall 打开常见警告,有助于尽早发现潜在问题;-std=c++17 与本教程示例习惯一致,可按课程要求改为 c++20 等。

逐行说明

  • #include <iostream>:引入标准输入输出流声明,使 std::cout、std::endl 可用。与 C 的 #include <stdio.h> 作用类似,但面向 C++ 流接口(详见标准输入与输出)。
  • int main():程序入口;返回 int 表示向操作系统报告退出状态,0 通常表示成功。
  • std::cout << ...:流插入运算符,将右侧内容输出到标准输出;std::endl 输出换行并刷新缓冲区。
  • return 0;:显式返回成功状态(省略时 C++ 仍会在 main 末尾补 return 0,初学阶段建议写明)。

可尝试将字符串改为中文问候,或故意删除分号观察编译器报错,以熟悉诊断信息的阅读方式。

从源码到可执行文件

C++ 与 C 一样属于编译型语言:源码经编译与链接生成可执行文件,再由操作系统加载运行。单文件小程序可概括为下列步骤(多文件工程会在头文件与多文件中展开):

hello.cpp(源码)
   ↓ ① 预处理:展开 #include、处理条件编译与宏
   ↓ ② 编译:将 C++ 源码翻译成汇编或中间表示
   ↓ ③ 汇编:生成目标文件 hello.o / hello.obj
   ↓ ④ 链接:接入标准库与运行时,生成可执行文件
hello(或 hello.exe)

在线编译器在服务端完成上述步骤;本地终端一条 g++ 命令通常也会自动串联编译与链接。

常见错误快速排查

报错特征常见原因
expected ';' before ...漏了分号,在上一行末尾补 ;
'cout' was not declared 等忘记 #include <iostream>,或未写 std:: 前缀
undefined reference to 'main'缺少 main 函数,或函数名拼写错误
g++: command not found编译器未安装或未加入 PATH;可先改用在线编译器

调试时可先读懂首条相关报错,对照本节与注释中的示例修改,再重新编译。保持这一习惯,有利于后续学习异常与更复杂的工程配置。

可选:本地安装与编译命令

跟练本教程不必先装本地编译器,优先使用在线编译器即可。仅当作业要求提交本机可执行文件、或需要离线练习时,再按系统安装 g++ / clang++。下列命令为常见入口,安装程序界面与软件源名称可能随版本变化。

安装

  • Windows:安装 MSYS2 后,在 MSYS2 UCRT64 终端执行 pacman -S mingw-w64-ucrt-x86_64-gcc,并把该环境的 bin 加入 PATH。也可在 Visual Studio 安装程序中勾选 C++ 桌面开发工作负载,改用其开发者命令提示符中的编译器。
  • macOS:在终端执行 xcode-select --install,按提示安装命令行工具;完成后 clang++ 与多数情况下的 g++ 别名即可使用。
  • Linux(Debian / Ubuntu):sudo apt update 后执行 sudo apt install g++。Fedora 可用 sudo dnf install gcc-c++。

安装后执行 g++ --version 或 clang++ --version,能打印版本号即表示可用。

编译与运行

将上文程序保存为 hello.cpp,在该文件所在目录打开终端:

# Linux / macOS
g++ -std=c++17 -Wall hello.cpp -o hello
./hello

# Windows(MinGW / MSYS2)
g++ -std=c++17 -Wall hello.cpp -o hello.exe
hello.exe

-std=c++17 与本教程示例习惯一致,可按课程改为 c++20。-Wall 打开常见警告。一条 g++ 命令通常会完成编译与链接;多文件工程见头文件与多文件。

本节说明了本站在线编译器的用法、第一个使用 iostream 的程序、编译流程概要,以及可选的本地安装与编译命令。下一节介绍变量与基本类型:内置类型、字面量与 auto 的入门用法。