> 技术文档 > Linux自动化构建工具(一)

Linux自动化构建工具(一)

在这里插入图片描述
在这里插入图片描述


🎁个人主页:工藤新一¹

🔍系列专栏:C++面向对象(类和对象篇)

🌟心中的天空之城,终会照亮我前方的路

🎉欢迎大家点赞👍评论📝收藏⭐文章


文章目录

  • Linux自动化构建工具
    • 一、make进度条
      • 1.1make/Makefile
      • 1.2 .PHONY
      • 1.3Modify 的新旧时间问题
    • 二、Makefile 的推导规则
      • 2.1程序编译的过程
      • 2.2 Makefile的多文件操作
    • 三、进度条(命令行版本)
      • 3.1对于 printf 的基本认识
      • 3.2理解显示功能
      • 3.3写什么样的进度条?
        • 3.3.1原理版(version1)
        • 3.3.2(version2)
        • 3.3.3补充内容 - 回调函数

Linux自动化构建工具

一、make进度条

1.1make/Makefile

Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


1.2 .PHONY

Linux自动化构建工具(一)


1.3Modify 的新旧时间问题

Linux自动化构建工具(一)


Linux自动化构建工具(一)


二、Makefile 的推导规则

2.1程序编译的过程

Linux自动化构建工具(一)


Linux自动化构建工具(一)


  • $BIN 可视作对 BIN 进行解引用操作

Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


2.2 Makefile的多文件操作

  • 方案一(version1):

Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


  • 方案二(version2):

Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


三、进度条(命令行版本)

  • 回车(\\r)换行(\\n)[回车换行是两个不同的符号]

  • 缓冲区:笼统上可以理解成一段内存块

3.1对于 printf 的基本认识

  • fflush(stdout)printf 中存放在缓冲区的 %d 刷新回显到屏幕上

Linux自动化构建工具(一)


Linux自动化构建工具(一)


3.2理解显示功能

  • Linux编程语言 中,“显示” 是一个基础但重要的概念,它指的是将信息呈现给用户的过程

Linux自动化构建工具(一)


Linux自动化构建工具(一)


3.3写什么样的进度条?

[#### ] [53%] [/]

3.3.1原理版(version1)

Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


3.3.2(version2)
  • 上述,我们原理版本的进度条可以运行,但 无法使用,如下载时,进度条(每秒固定的变化)和下载程度(根据网速来回拉扯)不匹配

  • 一个进度条一定需要结合具体的场景,进行动态更新(如,按照某时某刻下载程度,实时的返回给进度条)

Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


3.3.3补充内容 - 回调函数

Linux自动化构建工具(一)


Linux自动化构建工具(一)


Linux自动化构建工具(一)


在这里插入图片描述
🌟 各位看官好我是工藤新一¹呀~

🌈 愿各位心中所想,终有所致!