这一篇我们重点讲讲编译(compiling)的相关知识
首先我们要知道在C++中没有文件的概念,这一点或许跟JAVA有所不同,我们在编译器中的文件只是为了更好的识别源码而设立的。.cpp文件对应C++,.h文件对应头文件,这是编译器中已经设置好的。我甚至可以用让编译器对任何种类的文件按C++编译,这是没问题的,文件不代表任何东西。
回到我们之前所写的函数
如果我们再次观察这两个.obj文件我们可能会惊讶于他们的大小,我们只写了几行代码然而却又几十kb的大小。
这是因为文件中存在#include<iostream>
这句话。
在编译的第一阶段,首先会进行的是预编译,常见的形式有include,define,if,ifdef,这里我们先将include。
在预编译时遇到#include<>
,编译器会打开该文件,然后复制粘贴所有的代码到本文件
我们再新建一个.cpp文件命名为math,写入
int Multiply(int a, int b)
{
int resualt = a * b;
return resualt;
}
编译之后我们再次打开文件夹,可以看到:
同样都是几行代码,math.obj只有3kb。
我们再新建一个头文件,命名为EndBrace.h
删除头文件中所有的代码然后加上一个右大括号
我们再来修改math.cpp代码
int Multiply(