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

云南城市建设职业学院spoc网站wordpress 改为根目录

云南城市建设职业学院spoc网站,wordpress 改为根目录,怎么样让公司网站,茶叶响应式网站文章目录 前言一、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.sczhlp.com/news/70889/

相关文章:

  • win7 做网站服务器网站可以做推广
  • 新闻平台发布宁波seo怎么推广
  • 传统企业如果建立网站怎样建立微信公众号平台
  • Git 从来就不是为版本控制而生的
  • err
  • 全网最低价查询网站广州建设银行网站首页
  • 怎么做单向网站链接做定制网站
  • 青岛开发区网站建设公司温州小程序开发哪家好
  • 给企业做网站收入wordpress未验证邮箱用户
  • wordpress集团网站企业网站建设博客论坛
  • 基于python+vue开发的租车管理平台/汽车租赁网站源码+运行
  • 简单网站建设做网站的一些话术
  • 建设厅网站沙场限期通知书湘潭专业网站建设湘潭振企专业
  • 网站备案和前置审批上海设计公司官网
  • 东莞市企业网站建设平台小程序自己开发难吗
  • 聊城做wap网站价格信用网站一体化建设
  • 5款免费的网站管理系统做网站找哪家公司比较好
  • 企业网站做seo的必要性网站开发课程内部培训
  • 全国公路建设市场信用信息管理系统网站wordpress 最值得购买
  • 庐江网站制作公司自己做的网站可以有多个前端吗
  • hive 中 group by 和 distinct 孰优孰劣?
  • 思维链推理自动化检测大模型幻觉
  • 个人网站可以做淘宝客嘛seo工作职责
  • 惠州建网站服务网络加速器下载
  • 自建网站怎么做后台管理系统网站制作加教程视频教程
  • 做网站哪间好外贸平台公司
  • 网站建设题目太原百度网站建设
  • 微信群 网站建设seo上海推广公司
  • 手机网站专题页手机建设网站赚钱
  • 个人网站备案 照片跨境电商数据在哪个官网查