当前位置: 首页 > news >正文

鄂尔多斯住房和城乡建设局网站竞价推广外包托管

鄂尔多斯住房和城乡建设局网站,竞价推广外包托管,健康管理咨询公司,西宁网站建设公司文章目录 前言一、Makefile的结构二、深入案例三、Makefile中的一些技巧总结 前言 一、Makefile的结构 Makefile 通常由一系列规则组成,每条规则定义了如何从源文件生成目标文件。每个规则又由目标、依赖和命令三部分组成。 下面是 Makefile 规则的基本结构&…

文章目录

  • 前言
  • 一、Makefile的结构
  • 二、深入案例
  • 三、Makefile中的一些技巧
  • 总结


前言

一、Makefile的结构

Makefile 通常由一系列规则组成,每条规则定义了如何从源文件生成目标文件。每个规则又由目标、依赖和命令三部分组成。

下面是 Makefile 规则的基本结构:

target: dependenciescommand1command2...

其中,target 是要生成的目标文件名,dependencies 是生成目标文件所依赖的文件或目录,而 command1、command2 等则是生成目标文件所需执行的命令。

例如,以下的规则:

hello: hello.cgcc -o hello hello.c

指定了一个规则,用于将 hello.c 编译成可执行文件 hello。其中,hello 是目标文件名,hello.c 是依赖的源文件名,而 gcc 则是生成目标文件所需要的命令。注意,在命令行中,我们需要使用 tab 而非空格来缩进命令行。

首先我们先编写一个hello.c:

#include <stdio.h>int main(void)
{printf("Hello World\n");return 0;
}

执行make命令:
在这里插入图片描述
ls查看生成的文件:
这里可以看到生成了一个hello可执行文件。
在这里插入图片描述
执行hello可执行文件:
在这里插入图片描述

二、深入案例

这个 Makefile 有一个 all 目标,依赖于 test1 目标。all 目标包含一行命令 echo hello world,用于输出字符串 “hello world”。test1 目标没有依赖关系,包含一行命令 echo test1,用于输出字符串 “test1”。

当我们执行 make 命令时,make 会首先查找 Makefile 文件,并读取 all 目标。因为 all 目标依赖于 test1 目标,因此 make 会接着查找 test1 目标,并执行其命令。在 test1 的命令执行完成后,make 会回到 all 目标,并执行其命令,即输出字符串 “hello world”。

all : test1echo hello worldtest1 : echo test1

因此,make 命令的输出结果如下:
在这里插入图片描述

三、Makefile中的一些技巧

在命令前面加上@可以不显示出执行的命令:

all : test1@echo hello worldtest1 : @echo test1

执行结果;
这里我们可以看到执行make后没有显示出执行的命令。
在这里插入图片描述

将all和最终可执行文件名放在makefile的第一个目标里面:

hello all : hello.o func.ogcc -o hello hello.o func.ohello.o : hello.cgcc -c -o hello.o hello.cfunc.o : func.cgcc -c -o func.o func.c

对应文件代码:
hello.c:


extern void func(void);int main(void)
{func();return 0;
}

func.c:

#include <stdio.h>void func(void)
{printf("Hello World\n");
}

执行make命令:
在这里插入图片描述
再次执行make命令:
在这里插入图片描述
我们发现这里执行第二次make命令的时候会告诉我们hello已经是最新的了,那么就不会再次进行编译执行了。

在执行Make命令时,Make会根据规则的依赖关系判断哪些规则需要重新执行以及哪些规则可以跳过。

如果Make发现生成目标的依赖文件没有更新,那么就没有必要重新生成目标文件。因此,Make会跳过这条规则,并且不执行规则中的命令。只有当目标依赖关系中的某个文件发生了变化,才会导致相关规则和命令的重新执行。

这种依赖关系可以有效地提高Make的构建效率,避免不必要的重复构建。当你修改了源代码文件时,Make会自动检测出需要重新构建的目标,并生成最新的可执行文件或静态库。

那么加上all又可以起到什么作用呢:

使用make all命令:
在这里插入图片描述
当执行make all时make程序会自动寻找到makefile中的all目标进行执行。

总结

本篇文章主要讲解了makefile的结构和一些小技巧,希望大家能够好好理解并掌握。

http://www.hkea.cn/news/307055/

相关文章:

  • 国外比较好的资源网站电商运营推广是做什么的
  • 佛山房地产网站建设seo实战培训王乃用
  • 如何做可以赚钱的网站关键词如何快速排名
  • 深圳品牌做网站公司有哪些百度app推广
  • 重庆建设行业信息网站搜狗登录入口
  • 同仁行业网站建设报价北京做的好的seo公司
  • 陕西自助建站做网站郑州外语网站建站优化
  • 小型企业网站系统cilimao磁力猫最新版地址
  • 铁岭网站建设移动网站广东网站seo
  • 网站模板插件sem和seo
  • 用wordpress制作网站模板沈阳seo
  • 优化一个网站多少钱宜昌网站seo
  • 刚做的网站怎么才能搜索到枸橼酸西地那非片功效效及作用
  • 罗湖区网站公司专业模板建站
  • 哪有备案好的网站国产系统2345
  • 网站开发怎么让别人看到最新营销模式有哪些
  • ssm网站开发源码百度推广多少钱一个月
  • 手游门户网站建设appstore关键词优化
  • 齐河网站开发seo服务内容
  • 北京微信网站建设费用想卖产品怎么推广宣传
  • 网站上线的步骤厦门网站推广公司哪家好
  • 网站做app的软件有哪些百度一下你就知道下载
  • 界面设计的重要性百度seo关键词排名推荐
  • 股票做T网站直播营销
  • 北京手机网站建设公司排名技术优化seo
  • wordpress可爱的主题seo优化教程
  • 自己可以申请网站做外卖吗网站描述和关键词怎么写
  • 公司网站网页设计seo站长工具推广平台
  • 重庆南岸营销型网站建设公司哪家专业真实的网站制作
  • 郑州企业网站建设兼职推广渠道