最简版Hello World只需三行代码:包含头文件、定义int main()函数、用std::cout输出字符串;编译运行命令为g++ hello.cpp -o hello && ./hello,无需额外环境配置。

直接上手就能跑通,不需要额外配置环境——只要系统里装了 g++ 或 clang++,一行命令就能编译运行。
怎么写最简版的 Hello World
新建一个文件,比如叫 hello.cpp,内容就三行:
#includeint main() { std::cout << "Hello World" << std::endl; }
注意点:
-
std::cout和std::endl必须带std::前缀,除非你加了using namespace std;(不推荐初学就加) -
是输入输出流头文件,不是,C++ 里不用 C 风格头文件 -
main()返回类型必须是int,不能是void,否则某些编译器会警告甚至报错
怎么编译和运行
终端里执行这行命令:
立即学习“C++免费学习笔记(深入)”;
g++ hello.cpp -o hello && ./hello
说明:
-
g++是 GNU C++ 编译器;macOS 上可用clang++替代 -
-o hello指定输出可执行文件名,不加的话默认是a.out -
&&表示前一条成功才执行后一条,避免编译失败还去运行 - 如果看到
command not found: g++,Windows 用户需安装 MinGW 或 WSL;macOS 装 Xcode Command Line Tools;Linux 大多自带或用sudo apt install g++
常见报错和对应改法
编译时出错,别急着搜“C++ hello world 报错”,先看错误信息里最关键的几个词:
-
undefined reference to 'main'→ 文件里没写main()函数,或拼错了(比如写成void main()) -
expected unqualified-id before '{' token→main()前少写了int,或者函数体外多写了代码 -
'cout' is not a member of 'std'→ 忘了#include,或大小写写成Cout no matching function for call to 'operator → 字符串用了单引号,比如'Hello World'(单引号是 char,双引号才是字符串)
为什么不用 system("pause") 或 getchar()
很多教程教你在最后加 system("pause") 或 getchar(),但这是 Windows 控制台遗留习惯。现代做法是:
- 在终端里直接运行,输出完自然停住,不用暂停
- 如果用 IDE(如 VS Code、CLion),它们自带终端,运行后不会闪退
-
system("pause")不跨平台,Linux/macOS 没这个命令;getchar()在某些环境下会读到残留换行符,导致跳过等待 - 真要调试时手动停,加一句
std::cin.get();更安全,但仅限本地测试,不要写进正式代码
第一行输出背后其实牵扯了标准库加载、IO 缓冲、程序入口约定这些机制,但起步阶段只管让它跑出来就行——等你开始改输出内容、加变量、读输入时,那些细节才会真正变得重要。










