刚开始学linux下到Makefile,自娱自乐。
fun.c 文件
1 /******fun.c********/
2
3 #include <stdio.h>
4 #include <stdarg.h>
5 #include <stdlib.h>
6 #include "a.h"
7 int add(int a, int b){
8 if(a > 100 && b > 100)
9 ERROR(-1, "错误:a=%d,b=%d都超过了100\n", a, b);
10 if(a > 100)
11 ERROR(-1, "错误:a=%d超过了100\n", a);
12 if(b > 100)
13 ERROR(-1, "错误:b=%d超过了100\n", b);
14 return a + b;
15 }
16 int logging(int code, char *fmt,...){
17 va_list list;
18 FILE *fp;
19 fp = fopen("./error.log","a+");
20 if( fp == NULL){
21 printf("error\n");
22 exit(0);
23 }
24 va_start(list, fmt);
25 vfprintf(fp,fmt,list);
26 fclose(fp);
27 va_end(list);
28 return code;
29 }
main.c文件
1 /*****main.c********/
2 #include <stdio.h>
3 int main(){
4 int a, b, res;
5 printf("要求输入到两个数小于100,否则返回-1\n");
6 while( scanf("%d %d", &a, &b) != EOF){
7 res = add(a, b);
8 printf("%d\n", res);
9 }
10 return 0;
11 }
Makefile文件
1 main : main.o fun.o
2 cc -o main main.o fun.o
3 main.o : main.c
4 cc -c main.c
5 fun.o : fun.c
6 cc -c fun.c
7 clean:
8 rm main.o fun.o
a.h文件
1 #ifndef _A_DEF
2 #define _A_DEF
3
4 #include <stdio.h>
5 #define ERROR return logging
6 int logging (int code, char *fmt,...);//变参
7
8 #endif
分享到:
相关推荐
在Linux环境下,尤其是进行C/C++编程时,Makefile的使用极为普遍。它不仅能够帮助开发者自动化编译过程,提高开发效率,还能清晰地定义项目的编译规则,使得大型项目管理变得简单高效。本文将基于提供的部分内容,...
通过使用这些特殊变量,可以使 Makefile 更加简洁高效。 #### 四、Makefile 的应用场景 **1. 大型工程项目** 对于大型项目而言,Makefile 的重要性尤为突出。它可以有效地管理复杂的文件结构和依赖关系,确保每次...
Linux Makefile是Linux环境下进行软件开发的重要工具,它主要用于自动化编译和链接过程,极大地提高了开发者的工作效率。在这个“Linux Makefile工程实战教程”中,你将深入学习如何编写和运用Makefile,从基础概念...
Makefile 是一种用于自动化构建过程的脚本文件,在 Linux 和其他 Unix 类操作系统中广泛使用。通过 Makefile,开发者能够定义一系列规则来指定源代码文件的编译顺序、何时需要重新编译以及如何将多个文件链接成最终...
Linux Makefile 实验文档深入探讨了Makefile在Linux和Unix系统中的应用,以及如何使用GNU make工具来自动化编译和构建项目。Makefile是一个自动化编译的工具,能够根据文件的时间戳来决定哪些文件需要编译,从而提高...
下面是 Linux Makefile 的详细教程,包括 Makefile 的参数、Makefile 的基本结构、Makefile 的变量、Makefile 的规则、Makefile 的依赖关系等。 一、Makefile 的参数 Makefile 的参数是指在执行 Makefile 时可以...
通过该Makefile模型,可以自己修改源文件和头文件的路径后,执行make和make clean即可,通用、快速完成makefile的编写
**Makefile** 是一种用于自动化构建软件项目的脚本文件,在Linux环境下被广泛使用。通过定义一系列规则,Makefile 能够根据文件的修改时间自动确定哪些文件需要重新编译或链接,从而大大简化了软件项目的构建流程。 ...
在Linux系统中,`Makefile`是一个非常重要的工具,它帮助开发者自动化编译、链接以及执行等构建过程。本文将详细解析`Makefile`的基本结构、规则和常见指令,通过提供的"实验8_2"和"实验8_1"文件名,我们可以推测这...
"LINUX2.6内核makefile详解" Linux 2.6 内核 Makefile 详解是 Linux 内核开发中非常重要的一部分。Makefile 是一个脚本文件,用于描述如何编译和构建 Linux 内核。该文件是 Linux 内核开发的核心组件之一,对开发...
4. **宏和函数**:内核Makefile使用了许多预定义的宏和函数,它们简化了复杂的逻辑判断和操作,例如查找特定目录下的源文件,检查硬件特性等。 5. **配置选项**:Linux内核支持大量的配置选项,用户可以通过make ...
在Linux系统中,`Makefile`是一个至关重要的文件,它为开发者提供了自动...在实际使用中,你需要理解和掌握`Makefile`的关键概念,熟练运用规则和变量,以及优化构建过程,这些都是成为一名高效Linux开发者的必备技能。
`Linux makefile`是用于自动化编译和链接程序的重要工具,尤其在大型项目中,它能显著提高开发效率。`makefile`定义了一系列规则,指示`make`程序如何构建、编译和链接源代码,确保每次只有必要的文件才会被重新编译...
在 Unix/Linux 环境下,Makefile 的使用更为普遍和必要。由于没有集成开发环境(IDE)提供的图形化界面支持,编写 Makefile 成为了软件构建流程中不可或缺的一环。尤其是面对大型工程,Makefile 的编写能力直接体现...
在Linux环境中,`Makefile`是一个非常重要的工具,它用于自动化构建项目,特别是涉及多文件的C/C++项目。编写有效的`Makefile`规则能够极大地提高开发效率,减少手动编译链接的繁琐工作。本篇将详细介绍如何在`...
### Autotools 使用详解——Linux Makefile 自动生成工具 #### 一、引言 在 Linux 开发领域,Autotools 可谓是不可或缺的工具之一。它不仅极大地简化了软件包的构建过程,还使得跨平台编译变得轻而易举。通过使用 ...
【标题】:Linux Makefile详解 【描述】:本文档将深入探讨Linux系统下的Makefile语法规则,帮助程序员理解并掌握如何编写有效的Makefile,从而实现自动化编译。 【标签】:Linux, Makefile, 编译规则, 自动化编译 ...
Linux 内核 Makefile 的用户可以分为四类:使用者、普通开发人员、架构开发人员和维护人员。使用者只是编译内核的人,普通开发人员维护某一功能的 Kbuild Makefile,架构开发人员工作在具体架构上,维护人员负责维护...
总之,"linux-makefile"涉及到的是使用Linux环境,特别是WSL,结合VSCode的Remote - WSL插件,进行软件开发和构建。通过编写Makefile,开发者可以有效地管理项目,自动化编译过程,确保代码的正确性和一致性。这对于...
在Linux内核开发中,`Makefile`扮演着至关重要的角色,它是构建和编译内核的核心。本文将深入浅出地探讨Linux内核的`Makefile`及其配置系统,旨在帮助初学者理解这一复杂的构建过程。 首先,Linux内核的配置系统由...