makefile的使用

来源:互联网 发布:银魂用哪个软件下载 编辑:程序博客网 时间:2024/05/16 10:17

有个程序

main.c文件

/***********************************main.c************************************************/
#include<stdio.h>
int main(void)
{
  char c;
  char str[20];
  enter_string(str);
  printf("the delete atring is :");
  scanf("%c",&c);
  delete_string(str,c);
  print_string(str);
  return 0;
}


foo1.c文件
/**************************foo1.c******************************/
#include<stdio.h>
int enter_string(char str[20])
{
  printf("input the strings:");
  gets(str);
  return 0;
}



foo2.c文件

/*******************************foo2.c*******************************************/
int delete_string(char str[],char ch)
{
  int i,j;
  for (i=j=0;str[i]!='\0';i++)
    {
      if (str[i]!=ch)
    str[j++]=str[i];
    }
  str[j]='\0';
  return 0;
}



foo3.c文件

/***********************foo3.c*********************************/
#include <stdio.h>
int print_string(char str[])
{
  printf("result : %s\n",str);
  return 0;
}

下面makefile有两种写法:

第一种:

all:main.c foo1.c foo2.c foo3.c
    gcc main.c foo1.c foo2.c foo3.c -o all

第二种:

all:main.c foo1.c foo2.c foo3.c

    gcc -c foo1.c -o foo1.o
    gcc -c foo2.c -o foo2.o
    gcc -c foo3.c -o foo3.o
    gcc -c main.c -o main.o
    gcc -o all foo1.o foo2.o foo3.o main.o


两种方法都可以,但是不能有那种注释

/×××××××××××××××makefile××××××××××××××××××××××/

这样在make的时候,会出现

Makefile:1: *** missing separator。 停止。


在第一种时,文件夹里没有.o文件

在第二种时,文件夹里有 .o文件

在makefile中,第二行gcc前面是一个tab键,不是空格

写好后,

make

文件里出现all可执行文件,然后

./all

运行程序。









0 0
原创粉丝点击