Linux:进度条(小程序)以及git三板斧

这篇具有很好参考价值的文章主要介绍了Linux:进度条(小程序)以及git三板斧。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Linux:进度条(小程序)以及git三板斧,Linux,linux,小程序,apache,深度学习,学习,服务器,git

 Linux小程序:进度条

在实现小程序前我们要弄清楚:

        1.缓冲区;

        2.回车与换行。

缓冲区:

分别用gcc来编译下面两个程序:

程序一:

#include <stdio.h>
int main()
{
        printf("hello Makefile!\n");
        sleep(3);
        return 0;
}

程序二:

#include <stdio.h>
int main()
{
        printf("hello Makefile!\n");
        sleep(3);
        return 0;
}

Linux:进度条(小程序)以及git三板斧,Linux,linux,小程序,apache,深度学习,学习,服务器,git

        可以看到打印程序二没有 \n ’后,没有在该打印的时候打印,反而在结束后才出现,

这说明peintf的运行结果hello Makefile被提起保存在了某个地方,当程序结束时,hello Makefile才打印出来,这个地方就是缓冲区!

回车与换行: 

Linux:进度条(小程序)以及git三板斧,Linux,linux,小程序,apache,深度学习,学习,服务器,git

通过老式键盘就会发现其实Enter是包含换行和回车的意思:

        回车:就是到一行的开头;

        换行(' \r '):切换到当前位置的下一行;

 有了以上的知识储备我们就可以开始写Linux的第一个程序了!!

进度条:

由于没有了' \n '无法刷新缓冲区,所以还需要了解一个强制刷新的函数:

        头文件为:#include <unistd.h> 

        函数:fflush()

此时我们先来写个倒计时:

Linux:进度条(小程序)以及git三板斧,Linux,linux,小程序,apache,深度学习,学习,服务器,git

进度条,启动!!

首先需要创建makefile文件实现多文件之间的自动化构建:

makefile:

  1 my-test:game.o main.o                                                                                                                            
  2   gcc -o $@ $^
  3 main.o:main.c 
  4   gcc -c main.c
  5 game.o:game.c  
  6   gcc -c game.c
  7                
  8 .PHONY:clean
  9 clean:      
 10   rm -f my-test game.o main.o

game.h:

  1 #include <stdio.h>
  2 #include <time.h>
  3 #include <stdlib.h>
  4 #include <unistd.h>
  5 
  6 #define Head '>'
  7 #define MAX 102
  8 #define CHAR '='
  9 
 10 //进度条实现                                                                                                                                     
 11 void Progress(double n);

game.c:

  1 #include "game.h"
  2 //下载在进行图标
  3 const char*arr1="|/-\\";
  4 //进度条数组
  5 char arr2[MAX] = {};
  6 void Progress(double n)
  7 {
  8   //char arr1[4] = "|/-\";
  9   static int count = 0;
 10   int count1 = count % 4;
 11   count++;
 12   //下载进度未达到1%需要一个箭头表示
 13   if(n <= 1.0)
 14     arr2[0] = Head;
 15   //\033:表示颜色开始 [5;31;44m:表示闪烁;前景色为黄色;背景色为蓝色 \033[0m:表示清空颜色缓存
 16   //\r:表示回到开头
 17   printf("[\033[5;31;44m%-100s\033[0m][%.1f%%][%c]\r",arr2,n,arr1[count1]);
 18   //强制刷新缓冲区
 19   fflush(stdout);
 20   //按百分比显示进度                                                                                                                             
 21   arr2[(int)n] = CHAR;    
 22   if(n < 99)              
 23     arr2[(int)n+1] = Head;
 24                         
 25 } 

main.c:

1 #include "game.h"
  2 
  3 void Down1()
  4 {
  5   //取随机数
  6   srand(time(NULL));
  7   //需要下载的大小
  8   int num = 1024 * 1024 *1024;
  9   int nnn = num;
 10   //下载未完成继续下载
 11   while(num)
 12   { 
 13     //休眠1000微秒
 14     usleep(1000);
 15     //本次下载的大小
 16     int download = rand() % (1024 * 1024);
 17     //还需要的下载量
 18     num = num - download;
 19     //下载完成
 20     if(num < 0)
 21       num = 0;
 22     int downnum = nnn - num;
 23     //下载占需要下载的百分比                                                                                                                     
 24     double n = ((downnum * 1.0) / nnn ) * 100.0;
 25     Progress(n);          
 26   }                       
 27   printf("\n");           
 28 }                         
 29                           
 30 int main()                
 31 {                         
 32   Down1();                
 33                           
 34   return 0;               
 35 } 

特别注意: 

        进度条是建立在一个加载这类的板子上的,不是用程序写出来后自己控制进度的!需要配合一些下载场景,根据下载量的大小和下载速度来实时对进度进行同步更新!!!

使用Gitee创建项目:

首先需要在Linux安装git:

格式:yum intall git

其次需要创建一个Gitee账号Gitee - 基于 Git 的代码托管和研发协作平台

然后创建一个仓库,如下:如果不需要裁剪文件就不需要勾选 .gitignore

Linux:进度条(小程序)以及git三板斧,Linux,linux,小程序,apache,深度学习,学习,服务器,git

在创建好的仓库页面中复制仓库的链接, 以备接下来进行同步数据:

Linux:进度条(小程序)以及git三板斧,Linux,linux,小程序,apache,深度学习,学习,服务器,git

下载仓库到本地:

将代码放到刚才下载好的目录中
格式:git clone [url]
这里的 url 就是刚刚建立好的 项目 的链接

三板斧第一项:git add

将代码放到刚才下载好的目录中
格式:git add [文件名]
将需要用 git 管理的文件告知 git

三板斧第二项:git commit

提交改动到本地
格式:git commit .

最后的 "." 表示当前目录
提交的时候应该注明提交日志, 描述改动的详细内容
.

三板斧第三项:git push

同步到远端服务器上
格式:git push
需要填入用户名密码. 同步成功后, 刷新 Github 页面就能看到代码改动了。

过程: 

需要注意:git add .只是将文件放入暂存区,还没有放入到本地仓库中!!!

Linux:进度条(小程序)以及git三板斧,Linux,linux,小程序,apache,深度学习,学习,服务器,git

特别注意: 

1.如下图中的.gitignore中包含的文件格式会进行过滤,并且是修改就会生效的!!!

2.当我们在进行多人关联一个远程仓库时,一方进行远程提交后,另一方要想远程提交必须同步远程仓库!(必须保证所有的人都能看到!),git仓库如果本地和远端仓库不同步,git会强制你进行同步!

Linux:进度条(小程序)以及git三板斧,Linux,linux,小程序,apache,深度学习,学习,服务器,git

Linux:进度条(小程序)以及git三板斧,Linux,linux,小程序,apache,深度学习,学习,服务器,git

以上就是个人学习的见解和学习过程的解析,欢迎各位大佬在评论区探讨,交流!

如果本篇对你有帮助的话,三连支持一下吧。

感谢大佬们的三连! 感谢大佬们的三连! 感谢大佬们的三连!

                                              Linux:进度条(小程序)以及git三板斧,Linux,linux,小程序,apache,深度学习,学习,服务器,git文章来源地址https://www.toymoban.com/news/detail-751471.html

到了这里,关于Linux:进度条(小程序)以及git三板斧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Linux 基础] Linux使用git上传gitee三板斧

    Gitee官网 1.2.1 使用Gitee创建项目 1、注册账号 如果没有Gitee的账号先注册一个。 注册完成后登录。 2、进入主页面,箭头指向+号处点新建仓库 3、设置仓库信息 4、仓库创建完成 1.2.2 上传本地代码到远端仓库 1、先点击克隆/下载,复制下来链接 2、下载项目到本地 使用下面的命

    2024年02月06日
    浏览(56)
  • 【Linux】git三板斧教程(免密提交配置)

    🎉博客主页:小智_x0___0x_ 🎉欢迎关注:👍点赞🙌收藏✍️留言 🎉系列专栏:Linux入门到精通 🎉代码仓库:小智的代码仓库 Git是一种分布式版本控制系统,它可以记录文件的改动历史,并且可以多人协同开发。Git最初由LinusTorvalds开发,用于管理Linux内核的开发。Git的工作

    2024年02月12日
    浏览(37)
  • Linux关于gittee的远端仓库的连接和git三板斧

    目录 1.网页操作 2.Linux操作 查看Linux系统中是否安装git指令 安装git指令 链接远端仓库 设置 .gitignore文件 3.git三板斧  首先我们要在gittee建立一个仓库 这是我自己的勾选方案,大家可以参考一下。 这个方案勾选最下面的三个选项才有,不过都能找到这个HTTP协议地址,复制一下

    2024年02月07日
    浏览(82)
  • git commit之前,没有pull最新代码,导致无法push代码如何解决?——git三板斧

    如果在 git commit 之前没有 pull 最新代码,再进行 push 操作可能会出现冲突,导致无法 push 代码。此时, git 会提示类似以下的错误信息: 这个错误提示说明了更新被拒绝,因为远程仓库包含了本地仓库没有的工作。这通常是由于其他人已经推送了代码,或者你在另一个地方进

    2024年02月13日
    浏览(114)
  • git pull时候报错:the following untracked working tree files would be overwriteten by merge?——git三板斧

    这个错误通常在使用 git pull 命令拉取代码时出现,它表示在合并操作中,有一些未跟踪的文件会被覆盖。 这种情况通常发生在 你本地的工作区中有一些未添加到版本控制的文件 ,而远程仓库上的代码发生了变化,并且这些变化会覆盖到你本地的未跟踪文件。 为了解决这个

    2024年02月09日
    浏览(50)
  • 数据产品经理三板斧

    什么是数据产品经理 产品经理,是一个产品的妈,是一个产品化形态的产出必不可少的角色,决定了一个产品的能力、生命、节奏。可以说没有产品经理,一个产品想要被建设起来,几乎是不可能的。数据产品经理,顾名思义是在产品经理的基础上,叠加上数据从业人员的职

    2024年02月15日
    浏览(36)
  • 区块链三板斧之状态治理

    作者:禅与计算机程序设计艺术 在区块链底层技术中,状态管理就是对区块链上各个节点上数据的记录、保存和控制。其核心目的就是维护用户数据以及对交易数据进行验证、执行等操作,保证整个区块链网络的稳定运转。 区块链底层技术主要解决分布式记账的问题,但是

    2024年02月04日
    浏览(53)
  • ORACLE无法OPEN,处理三板斧

    mount下先查询数据文件头的检查点是否一致 查询 v$datafile_header ,CHECKPOINT_CHANGE#均一致,FUZZY为YES 1)对于open resetlogs时数据文件中有脏数据的情况,可以设置 来规避。 2)如果出现ORA-01555错误,导致数据库无法open,可以设置 的方式来规避 3)出现ORA-600 [2662]错误时,先通过多次重启

    2024年03月13日
    浏览(59)
  • 阿里云进攻“三板斧”:大降价、被集成和大模型

    4月26日上午,2023阿里云合作伙伴大会上,阿里巴巴集团董事会主席兼CEO、阿里云智能集团CEO张勇再度现身。 2022年底,张勇选择亲自担任阿里云智能CEO后,曾在一封面向阿里集团的全员信中指出,希望新的一年中阿里的是“进”。他要求阿里坚持做“好”自己,做“好

    2024年02月11日
    浏览(64)
  • [Docker] Portainer + nginx + AList 打造Docker操作三板斧

    Portainer : Docker容器图形化管理系统 nginx: 反向代理利器 AList: 文件管理系统 目的: 依托Portainer 的图形管理界面,可视化的配置docker容器. AList再关联Docker各容器内部的配置文件,可视化配置,再配合Portainer重启,日志查看,命令行操作等.对于中小企业对容器化操作简化处理.nginx用于打

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包