C++是如何工作的
拿上一节我们的程序举例来说
#include <iostream>
int main()
{
std::cout<<"Hello World!"<<std::endl;
std::cin.get();
}
简单介绍
- include是预处理指令,任何以#开头的都是预处理指令,include的功能是找到<>内的头文件,并把头文件的内容复制粘贴到此文件中
- 编译器收到第一个源文件时它做的第一件事就是预处理你所有的预处理指令 ,因为它发生在真正的编译之前,所以叫做预处理
- main函数被称作程序的入口点(entry point),因为程序是从main函数处开始执行的
- 程序运行时,电脑会一行一行按照顺序运行我们的代码,也有一些东西可以打破或者改变执行的顺序,例如控制流语句或者调用其他函数。所以上面的这段程序实际上是从std::cout<<“Hello World!”<<std::endl;开始执行的。
那这句到底在干嘛呢?
<<是指被重载的符号,可以把它想象成一个函数(虽然它看起来有点像运算符…但实际上运算符就是函数),HelloWorld是我们的参数,所以我们在这里做的就是把Hello World!这个字符传送到cout,而cout就是把它打印在控制台的一个函数。然后我们又传入一个endl,endl就是告诉控制台程序前进到另一行。cin.get()函数就是等待我们输入回车,然后才执行程序的下一行代码。
我们按回车之后进入到下一行,下一行什么也没有,也就是会返回0,说明我们的程序成功运行了。
文件到可执行程序转化的过程
这就是我们的源文件。实际上它就是一个文件,那我们怎么从这个文件到可执行程序呢?
- preprocessor语句.即程序中的include iostream,它会在编译之前被评估。我们之所以用include指令复制粘