首先创建几个文件:
main.c:
#include "mytool1.h"
#include "mytool2.h"
int main(int argc , char **argv)
{
mytool1_print("hello/n");
mytool2_print("hello/n");
return 0;
}
mytool1.c:
#include "mytool1.h"
void mytool1_print(char *print_str)
{
printf("This is mytool1 print %s\n",print_str);
}
mytool1.h:
#include<stdio.h>
#ifndef _MYTOOL_1_H
#define _MYTOOL_1_H
void mytool1_print(char *print_str);
#endif
mytool2.c:
#include "mytool2.h"
void mytool2_print(char *print_str)
{
printf("This is mytool2 print %s\n",print_str);
}
mytool2.h:
#include<stdio.h>
#ifndef _MYTOOL_2_H
#define _MYTOOL_2_H
void mytool2_print(char *print_str);
#endif
而makefile文件这样写:
#这是上面那个程序的Makefile文件
main:main.o mytool1.o mytool2.o
gcc -o main main.o mytool1.o mytool2.o
main.o:main.c mytool1.h mytool2.h
gcc -c main.c
mytool1.o:mytool1.c mytool1.h
gcc -c mytool1.c
mytool2.o:mytool2.c mytool2.h
gcc -c mytool2.c
注意的一点是,gcc前边一定要有个tab,否则会出现:makefile:2: *** 遗漏分隔符 。 停止。
运行的时候,直接用终端找到这些文件放的路径下,直接一个命令:make就可以了。