makeFile文件编写初探!!

有三个文件:

file1:stutemp.cpp

#include <iostream.h>

#include "sayhai.h"

int main()

{

  Person s;

  s.printName();

        return 0;

}

 

file2:sayhai.h

#ifndef SAYHAI_H

#define SAYHAI_h

class Person

{

  public:

    Person();

    void printArr();

  private:

    void printArray(int);

    int  saleValue[4];

};

#endif

 

file3:sayhai.cpp

#include <iostream.h>

#include "sayhai.h"

Person::Person()

{

  for( int i = 0 ; i < 4 ; i++ )

   {

    saleValue[i]=0;

    printArray(i);

   }  

}
void Person::printArr()

{

  cout << " test ok!" << endl;

} 

void Person::printArray(int x)

{

  cout << " saleValue[ "  << x << " ] = " << saleValue[x];

}

 

 

从上面的结构可以看出,主文件,调用了头文件的接口来实现打印功能,而接口头文件再去找他的实现类;现在的问题是,我们怎么样来方便的编译这个程序;常见的办法是:

g++ -c stutemp.cpp

g++ -c sayhai.cpp

g++ -o stutemp stutemp.o sayhai.o

 

这是对于一个调用和关联得比较少的程序,我们可以使用这种手动的办法来进行编译。那么如果是项目比较大,调用关系比较复杂的时候,我们又该怎么样来处理呢?而且,当我们要修改程序中的某一段的时候,整个程序的其它文件都需要重新编译一次,这样又如何来处理呢?

 

在这里,LINUX给我们提供了一个很好的工具组合:那就是MAKE工具,make是linux自带的,使用make时,需要我们编写自己的makefile文件。现在就来说一下这个文件要怎么样来写。在这里我使用的这下面的办法。我的makefile的内容如下:

 #MakeFile

stutemp:stutemp.o sayhai.o

  g++ -c $@ $^

stutemp.o:stutemp.cpp sayhai.h

  g++ -c $<

sayhai.o:sayhai.cpp  sayhai.h

  g++ -c $<

 

以后,我们修改任何一个程序的时候,都只需要执行一下make命令就可以了!!!

 

现在简单的说一下上面的这段MakeFile文件的内容吧:

第一行表示的是依赖关系.第二行是规则.
比如说我们上面的那个Makefile 文件的第二行
stutemp:stutemp.o sayhai.o

表示我们的目标(target)stutemp的依赖对象(components)是sayhai.o sayhai.o

Makefile 有三个非常有用的变量.分别是$@ ,  $^  , $<  代表的意义分别是:
$@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件.

 

OK,先写到这里吧,以后再分享!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值