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

深圳模具外贸网站建设合肥网站优化推广方案

深圳模具外贸网站建设,合肥网站优化推广方案,个性化网站建设开发,建设银行网站打不开其他网站可以Linux 1.make/Makefile1.什么是make和Makefile?2.stat命令3.Makefile单个文件的写法4.Makefile多个文件的写法 2.进度条1.回车\r、换行\n2.缓冲区3.进度条1.倒计时程序2.进度条程序 1.make/Makefile 1.什么是make和Makefile? 一个工程中的源文件不计其…

Linux

  • 1.make/Makefile
    • 1.什么是make和Makefile?
    • 2.stat命令
    • 3.Makefile单个文件的写法
    • 4.Makefile多个文件的写法
  • 2.进度条
    • 1.回车\r、换行\n
    • 2.缓冲区
    • 3.进度条
      • 1.倒计时程序
      • 2.进度条程序

1.make/Makefile

1.什么是make和Makefile?

  1. 一个工程中的源文件不计其数,它们按类型、功能、模块分别放在若干个目录中,makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。
  2. makefile 带来的好处就是 “自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
  3. make 是一个解释 makefile 文件中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见 makefile 成为了一种在工程方面的编译方法。
  4. make 是一条命令,makefile 是一个文件,两个搭配使用,完成项目自动化构建。
  5. 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力,makefile 中的 m 大小写都可以。

在这里插入图片描述

Makefile 文件中添加自动化清理命令

在这里插入图片描述

上面的 .PHONY: 是什么?

在这里插入图片描述
在这里插入图片描述
更加详细的过程,但不推荐这么写

在这里插入图片描述

2.stat命令

问题来了:make 命令如何知道形成可执行文件后,源文件被修改了? 答案:Modify 时间

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

  1. touch的盲区:后添加一个已经存在文件,会更改文件的3个时间
  2. PHONY作用:忽略 Modify 时间,所有源文件重新编译

3.Makefile单个文件的写法

更通用的写法:定义变量

在这里插入图片描述

在这里插入图片描述

4.Makefile多个文件的写法

Makefile有多个文件?

在工程中,我们一般会将所有的源文件先编译成目标文件,再将所有的目标文件与动态库进行动态链接,生成可执行程序。

在这里插入图片描述

#循环创建5个文件的命令
count=1; while [ $count -le 5 ]; do touch code${count}.c; let count++; done

在这里插入图片描述

2.进度条

1.回车\r、换行\n

  1. 回车\r:光标回到该行的第一个位置。
  2. 换行\n:光标垂直向下到下一行,光标不会回到第一个位置。

C语言中的\n:本质是 \r+\n。

2.缓冲区

在这里插入图片描述

在这里插入图片描述

若想要将没有带 \n 的字符串立刻刷新?fflush

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.进度条

1.倒计时程序

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

最终版本的倒计时程序

在这里插入图片描述

2.进度条程序

版本一:一次性展现进度条
在这里插入图片描述

在这里插入图片描述

版本二:边下载/上传,边更新进度条

Makefile 文件

SRC=$(wildcard *.c)
OBJ=$(SRC:.c=.o)
BIN=processbar$(BIN):$(OBJ)gcc -o $@ $^
%.o:%.cgcc -c $< -std=c99.PHONY:clean
clean:rm -rf $(OBJ) $(BIN)

process.h

#pragma once                                                              
#include<stdio.h>
void process_v1();
void FlushProcess(double total, double current);

process.c

#include"process.h"
#include<string.h>
#include<unistd.h>#define NUM 101
#define STYLE '#'void FlushProcess(double total, double current)
{char buffer[NUM];memset(buffer, 0, sizeof(buffer));const char* lable = "|/-\\";int len = strlen(lable);//不需要循环,只需填充#int num = (int)(current * 100 / total);for (int i = 0; i < num; i++){buffer[i] = STYLE;}static int cnt = 0;cnt %= len;double rate = current * 100 / total;printf("[%-100s][%.1f%][%c]\r", buffer, rate, lable[cnt]);cnt++;fflush(stdout);
}void process_v1()
{char buffer[NUM];memset(buffer, 0, sizeof(buffer));const char* lable = "|/-\\";int len = strlen(lable);int cnt = 0;while (cnt <= 100){printf("[%-100s][%d%][%c]\r", buffer, cnt, lable[cnt % len]);fflush(stdout);buffer[cnt] = STYLE;cnt++;usleep(500);}printf("\n");
}

main.c

#include"process.h"//函数指针
typedef void (*callback_t) (double total, double current);double total = 1024.0;  //文件大小
double speed = 1.0;     //下载速度//回调函数
void DownLoad(callback_t cb)
{double current = 0;while (current <= total){cb(total, current);//下载代码usleep(3000); //充当下载数据current += speed;}printf("\ndownload %.2lfMB Done\n", current);
}void UpLoad(callback_t cb)
{double current = 0;while (current <= total){cb(total, current);//上传代码usleep(3000); //充当上传数据current += speed;}printf("\nupload %.2lfMB Done\n", current);
}int main()
{DownLoad(FlushProcess);UpLoad(FlushProcess);return 0;
}
http://www.yidumall.com/news/93095.html

相关文章:

  • 网站发布到ftp泉州seo培训
  • 响应式网站 翻译代码青岛网站建设技术外包
  • 做外贸独立网站怎么样5118
  • wordpress 获取分类描述推广关键词如何优化
  • 甘肃省建设厅执业资格注册中心网站百度收录入口在哪里
  • 如何把自己做的网站网站查询备案信息
  • 网站建设公司2018-10-1做网站用什么编程软件
  • 网站可以跳转备案吗太原今日头条
  • 建站工具推荐广告关键词
  • 香港公司怎么做网站网络服务公司
  • 如何对上传的网站做代码修改百度手机端排名
  • 桂林生活网二手房市场天津的网络优化公司排名
  • html5网页制作实例视频教程西安seo排名
  • cms做网站可以做些什么网站三亚百度推广公司电话
  • 做网站美工的理由品牌公关案例
  • 网站建设公司是什么十大外贸电商平台
  • 南宁seo平台费用泾县网站seo优化排名
  • 西安房产信息网网站seo外包公司
  • 网站开发 翻译机构类网站有哪些
  • 做网站和web前端一样吗百度助手下载安装
  • 网站后台传图片传不了企业培训考试平台官网
  • 怎么买域名做企业网站网站建设方案推广
  • 北京做网站建设的公司排名广州seo实战培训
  • 郑州市最新疫情发布会优化王
  • WordPress清除文章缓存seo研究中心南宁线下
  • 南山区做网站seo学院
  • 网站开发协议微信公众号推广方法有哪些
  • 衡阳市做网站上海今天发生的重大新闻
  • 做网站1000以下哪家好色盲测试图数字
  • 政府网站cms模板成都网站建设方案服务