📅  最后修改于: 2020-11-01 04:36:09             🧑  作者: Mango
编译源代码文件可能会很麻烦,尤其是当您必须包含多个源文件并在每次需要编译时都键入compiling命令时。 Makefile是简化此任务的解决方案。
Makefile是特殊格式的文件,可帮助自动构建和管理项目。
例如,假设我们具有以下源文件。
main.cpp
以下是main.cpp源文件的代码-
#include
using namespace std;
#include "functions.h"
int main(){
print_hello();
cout << endl;
cout << "The factorial of 5 is " << factorial(5) << endl;
return 0;
}
你好
下面给出的代码用于hello.cpp源文件-
#include
using namespace std;
#include "functions.h"
void print_hello(){
cout << "Hello World!";
}
因数
下面给出了factorial.cpp的代码-
#include "functions.h"
int factorial(int n){
if(n!=1){
return(n * factorial(n-1));
} else return 1;
}
功能.h
以下是fnctions.h的代码-
void print_hello();
int factorial(int n);
编译文件并获取可执行文件的简单方法是运行命令-
gcc main.cpp hello.cpp factorial.cpp -o hello
此命令生成hello二进制文件。在此示例中,我们只有四个文件,并且知道函数调用的顺序。因此,键入上述命令并准备最终二进制文件是可行的。
但是,对于我们拥有成千上万个源代码文件的大型项目,很难维护二进制版本。
使用make命令可以管理大型程序或程序组。开始编写大型程序时,您会发现重新编译大型程序要比重新编译短程序花费更长的时间。此外,您会注意到您通常只在程序的一小部分(例如单个函数)上工作,而其余大部分程序均未更改。
在接下来的部分中,我们将了解如何为我们的项目准备一个makefile。