本例由 main.c  add.c sub.c add_sub.h 四个文件组成:编写Makefile执行程序

 /*************************************************************************
> File Name: main.c
> Author:
> Mail:
> Created Time: Tue 25 Jul 2017 10:40:22 AM CST
************************************************************************/ #include<stdio.h>
#include"add_sub.h"
int main()
{
printf(" 2 + 3 = %d\n", add(, ));
printf(" 2 - 3 = %d\n", sub(, ));
return ;
}
 /*************************************************************************
> File Name: add.c
> Author:
> Mail:
> Created Time: Tue 25 Jul 2017 10:36:26 AM CST
************************************************************************/
#include "add_sub.h" int add(int a, int b)
{
return a + b;
}
 /*************************************************************************
> File Name: sub.c
> Author:
> Mail:
> Created Time: Tue 25 Jul 2017 10:37:54 AM CST
************************************************************************/ #include "add_sub.h" int sub(int a, int b)
{
return a - b;
}
 /*************************************************************************
> File Name: add_sub.h
> Author:
> Mail:
> Created Time: Tue 25 Jul 2017 10:38:53 AM CST
************************************************************************/ #ifndef _ADD_SUB_H
#define _ADD_SUB_H
int add(int a, int b);
int sub(int a, int b);
#endif

Makefile的内容:

我们可以把这个内容保存在文件为“Makefile”或“makefile”的文件中,然后在该目录下直接输入命令“make”,就会在当前目录下找名字叫“Makefile”或“makefile”的文件,可以生成执行文件main。

 main: add.o sub.o main.o
gcc add.o sub.o main.o -o main add.o: add.c add_sub.h
gcc -c add.c -o add.o sub.o: sub.c add_sub.h
gcc -c sub.c -o sub.o main.o:main.c add_sub.h
gcc -c main.c -o main.o
clean:
  rm -rf *.o main

生成方法必须以TAB开头;若尝试用空格缩进会出现错误!

 实验结果:

如果要删除执行文件和所有的中间目标文件,那么,只要简单地执行一下“make clean”就可以了。

最新文章

  1. hdu 4781 Assignment For Princess (2013ACMICPC 成都站 A)
  2. Android开发之自定义圆角矩形图片ImageView的实现 - Jamy Cai
  3. 1297 - Largest Box(三分)
  4. TreePuzzle 一点感想
  5. Delphi在Vasta/win 7下通过UAC控制
  6. ADO.NET 基础学习笔记1
  7. span的title标签中的换行
  8. 全栈开发工程师微信小程序-中(下)
  9. VS2015中配置Eigen
  10. 使用sshpass方式实现ssh自动登录
  11. Spark SQL例子
  12. shell关于变量的操作
  13. pig简介
  14. (转)JavaScript escape() 函数(该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。)
  15. web程序快速开发
  16. JS-json-1
  17. 20145322 《网络对抗》 MSF基础应用1
  18. 深入理解Aspnet Core之Identity(1)
  19. Map 综述(三):彻头彻尾理解 ConcurrentHashMap
  20. 中线,基线,垂直居中vertical-align:middle的一些理解

热门文章

  1. ASP.Net开发WebAPI跨域访问(CORS)的精简流程
  2. 小知识点-ios跳过app store更新版本
  3. webpack2系列step1
  4. 如何写一个jquery插件
  5. shim 和 polyfill
  6. 记一次Java的内存泄露分析
  7. 学习的Python教程中的一些问题
  8. Jquery跨域读取城市天气预报信息
  9. linux上redis安装配置及其防漏洞配置及其攻击方法
  10. 创建静态库Static Library(Framework库原理相似)