C++如何工作
#include <iostream>
int main()
{
std::cout << "Hello World" << std::endl;
std::cin.get();
}
先看第一行 #include <iostream> 这是一个预处理语句。在#号之后的都叫预处理语句。编译器会预先处理这些语句,也就是说它在编译之前就已经被处理了。“include”的含义就是他需要找一个文件(在这个代码中需要找到的文件就是“iostream”)然后把这个文件中的所有内容复制到现在的文件内,这些文件被称为头文件。那么我们为什么需要包含这个文件呢?因为我们下面的代码中用到了cout和cin。
然后就是main函数,每一个C++都要有main函数。main函数是程序的入口,当程序运行时会从mian函数开始逐行执行代码。当然遇到控制语句和函数调用的时候程序也可以中断或者改变执行顺序。main函数的返回值是int但是我们这里并没有返回int,因为main函数比较特殊,它不一定需要返会值。
“Hello World”前面看着比较像左移运算符的东西叫重载运算符,可以把它理解为函数,它的参数就是字符串。也可以理解为将字符串”Hello World“推送到cout流中,然后打印。endl是跳转到下一行。cin.get是按下Enter之后再执行下一行代码(由于后面没有代码了,所以按下enter之后程序返回0代码就结束了)
编译时编译器会将所有的C++代码转化为机器码。VS有两个重要的的下拉菜单,解决方案配置和解决方案平台。
解决方案配置有两个选项Debug和Release,这是VS默认的两个选项。
有x86和x64,其中x86就是win32。
Debug要比Release慢好多,因为我们需要调试代码,所有优化都被关掉了。
在VS中按Ctrl+F7会编译单个文件,编译器编译之后每个.cpp文件都会生成一个.obj文件。
当运行一个大的项目的时候,不只有一个cpp文件。这个时候就要用到链接器,它会把obj文件链接在一起生成exe文件。
对于编译器和链接器如何工作可以看Cherno的视频
|