C++进阶3:Makefile入门

本文详细介绍了Makefile的作用、基本语法与执行,包括单文件和多文件编译,变量简化,命令自动推导,假想动作的使用,以及通配符和变量的应用。通过实例解析,帮助C++开发者更好地理解和掌握Makefile的编写技巧。
摘要由CSDN通过智能技术生成

0、作用

Makefile文件告诉Make怎样编译和连接成一个程序。

1、Makefiile基本语法与执行

1.1 示例

编译一个单文件HelloWorld.cpp

(1)编写Makefile

HelloWorld : HelloWorld.cpp
  g++ HelloWorld.cpp -o HelloWorld
clean :
  rm HelloWorld

(2)编译

make

(3)清空

make clean

1.2 构成

Makefile主要由多条规则构成,每条规则由三部分构成:目标(target)、依赖(prerequiries)和命令(command)。

1.3 格式

按如下格式编写Makefile

目标(target): 依赖(prerequiries)...
  命令(command)

(1)目标(target)通常是要产生的文件的名称,目标的例子是可执行文件或OBJ文件。目标也可是一个执行的动作名称,诸如‘clean’(仅仅表达动作的目标称为假想目标)。
(2)依赖是用来输入从而产生目标的文件,一个目标经常有几个依赖。
(3)命令是Make执行的动作,一个规则可以含有几个命令,每个命令占一行。
注意:
每个命令行前面必须是一个Tab字符,即命令行第一个字符是Tab。这是不小心容易出错的地方

1.4 说明:

(1)默认情况下,make最先执行第一条。
(2)使用make 目标名的方式,执行指定的规则。

2、Makefile多文件编译

2.1 示例

(1)string.h

#ifndef _STRING_H_
#define _STRING_H_
#include <iostream>
using namespace std;
#include <string.h>
class String{
   
public:
    String(const char* cstr = NULL);
    String(const String& str);
    String& operator=(const String& str);
    ~String();
    char* c_str() const {
   
        return m_data;
    }
private:
    char* m_data;
};
ostream& operator<<(ostream& os, const String& str);
#endif // _STRING_H_

(2)string.cpp

#include "String.h"
String
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值