从一段代码到能双击运行的 exe,中间发生了什么?
.cpp 代码变成可执行文件的 四个步骤;main 的第一行往下走的;把 #include 展开,粘贴头文件内容
把 C++ 翻译成汇编指令(.s)
把汇编变成机器码目标文件(.o)
合并 .o 与库,生成可执行文件(a.exe)
main 的第一行开始往下执行。| 命令 | 作用 |
|---|---|
g++ a.cpp | 编译 a.cpp,默认生成 a.exe |
g++ a.cpp -o hello | 编译并指定输出名 hello(.exe) |
./hello(或双击) | 运行程序 |
g++ --version | 确认编译器装好了 |
int main(){...},编译器只认 main 为入口,程序就从它开始。g++ 再运行。main。编译报错 undefined reference to main,说明入口写错了或没写。编译就像"把中文作文翻译成英文":内容没变,语言换了。CPU 只懂机器码(0/1), C++ 是所有"高级语言"里离机器码最近、性能最接近原生的语言之一——这也是它常用于系统/游戏/驱动的底气。
main 当作程序入口。