在linux下写一个简单的进度条,用make指令进行编译。

mujinhuakai01 mujinhuakai01     2022-08-27     320

关键词:

首先建立一个新的文件,touch progress_bar.c 执行该vim progress_bar.c命令,写进度条的程序。写进一个进度条程序:

#include<stdio.h>
#include<unistd.h>
#include<string.h>

void progress()
{
    int i = 0;
    char bar[102];
    memset(bar,0,102*sizeof(char));
    const char* lable="|/-\\";
    while(i <= 100)
    {
        bar[i] = '#';    
        printf("[%-101s] [%d%%] [%c]",bar,i,lable[i%4]);
        fflush(stdout);
        usleep(100000);
        i++;
    }
    printf("\n");
}

int main()
{
    progress();
    return 0;
}

如图:
这里写图片描述

该代码中需要注意的小细节:
1. const char* lable=”|/-\\”; 直接输入一个\会被系统认为是转义,所以要输入\\
2. printf(“[%-101s] [%d%%] [%c]”,bar,i,lable[i%4]);这里的%%同上,防止转义。i%4防止溢出
3. fflush(stdout); 参数为标准输出流
4. 因为sleep默认单位为秒,不便于测试,usleep默认单位为微秒
最后,进行调试,建立一个mymakefile文件,touch mymakefile对该文件进行编辑vim mymakefile。

myprogress_bar:progress_bar.c
    g++ -o myprogress_bar progress_bar.c
:PHONY clean
    clean:
    rm -f myprogress_bar

如图所示:

然后执行make命令,对progress_bar.c文件进行编译,make -f mymakefile,即生成myprogress_bar文件,用./myprogress_bar对他进行执行。若想重新进行编译,则需要make -f mymakefile clean指令,先对文件progress_bar进行清除,再用make进行编译。
如图:
这里写图片描述

linux下的进度条小程序

...新编译,甚至于进行更复杂的功能操作。makefile就像一个Shell脚本⼀样,其中也可以执行操作系统的命令。      Makefile中包含依赖关系和依赖方法。      当我们创建一个test.c文件后,使用ls>Makefile命令或touchM... 查看详情

makefile简单脚本编写和linux调试器gdb的简单应用(代码片段)

...译🥏2.3 升级版编译🥏2.4 函数版编译🏀3.第一个Linux程序---进度条🥏3.1缓冲区🥏3.2 \\n和\\r的区别🥏3.3 倒时游戏🥏3.4 进度条的编写🥅3.4.1程序的编写🥅3.4.2 脚本的编写🥅3.4.3 运行结... 查看详情

原生js做一个简单的进度条

用原生js做进度条,布局非常简单,一个盒子里放一个span标签,让它的宽度为0,并且转成块元素。主要用定时器动态增加span的宽度,并且当它的宽度大于父级盒子的宽度的时候停止效果如下:一css如下: * margin:0; padding:0; ... 查看详情

linux基础实现一个简单的进度条(代码片段)

文章目录一、预备知识二、简单的倒计时三、实现一、预备知识换行和回车的区别\\r:回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖,如果之前的内容比... 查看详情

linux操作系统实现一个简单的进度条(代码片段)

文章目录一、预备知识二、简单的倒计时三、实现一、预备知识换行和回车的区别\\r:回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖,如果之前的内容比... 查看详情

linux下写脚本时-gt是啥意思

-gt是大于的意思。-eq是等于的意思。-ne是不等于的意思。-ge是大于等于的意思。-lt是小于的意思。-le是小于等于的意思。脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑),脚本... 查看详情

vb中的进度条怎么用??

...面写的是用图片控件做进度条.方法2这个是COPY别人的采用一个完整的图片来作为进度条,每次当进度条改变时,采用先贴图再用背景色擦去不需显示的一段进度的方法来实现进度条的变化,可实现制作任何复杂美观的进度条。二... 查看详情

进度指示器——是菊花还是进度条?

...菊花,撑死了也只是个会转的菊花,没想到,它居然还有一个高大上的名字叫做进!度!指!示!器!顾名思义:表示进度的机器。瞬时间,我不能仅以看一朵小菊花的眼神看待它了,因为那显得我特别的不纯粹!为什么加载要... 查看详情

使用 make 编译简单的 C++ 项目 [关闭]

...想完全从使用Windows切换到Linux(Ubuntu)。阻止我转换的最后一个问题是必须用C++编写代码。在Windows上,我使用VisualStudio。在Linux上,我目前正在努力理解make的工作原理。我需要一套简单的说 查看详情

c#winform中,我在查询数据时等待时间过长,想用一个进度条显示机器正在查询,请问如何实现?

C#Winform中,我在查询数据时等待时间过长,想用一个进度条显示机器正在查询,请问如何实现?如果能显示当前查询到百分之多少了就更好了,小弟在此谢过高手们!!!我说下我的思路啊不一定对但是希望能对你有帮助首先正... 查看详情

简单实用的进度条加载组件loader.js

本文提供一个简单的方法实现一个流程的进度条加载效果,以便在页面中可以通过它来更好地反馈耗时任务的完成进度。要实现这个功能,首先要考虑怎样实现一个静态的进度条效果,类似下面这样的:这个倒是比较简单,两个... 查看详情

make---linux和windows格式

...ats【发布时间】:2009-05-2111:59:05【问题描述】:我遇到了一个大问题..我在Linux操作系统中使用linuxmake文件编译了我的c文件。我想通过命令提示符使用相同的make文件在Windows中编译相同的文件。为此,我也有nmake实用程序和Cygwin实... 查看详情

linux|手把手教你写一个进度条小程序(代码片段)

...出问题❓3、行缓冲的概念+疑难解答4、小结四、实现一个倒计时的功能1、实现从9~0的倒计时2、进阶:10~0的倒计时显示器打印原理解释3、错误修改五、进度条小程序【详解】1、准备工作2、进度条样式说明3、主体进度推... 查看详情

C# MVVM 中的简单进度条

...是个白痴。在了解了MVVM基础知识之后,我现在尝试获得一个简单的进度条,以1000毫秒的间隔显示更新,直到完成。但是在执行下面的代码时, 查看详情

在linux下写的网页文件,用linux可以打开,但无法用windows打开(.php和html文件都不行)。

要怎样才能在windows下打开Linux下写的网页???只能在自己电脑连接,其他电脑无法连接上。无法打开是指双击无法编辑还是打开乱码/格式乱?或者是浏览器显示异常?再或者是根本打不开,提示打开失败之类?如果是打开乱... 查看详情

前端页面加载进度条的制作

...体验来说体验是很不好的。因此我们可以在页面加载时用一个加载动效来表示,当加载完成的时候,再来显示内容。推荐一个制作进度条的网站icons8.com/preloaders/,制作进入条有以下几种方法。这种方法实现进度条简单粗暴,但... 查看详情

[linux从无到有]gcc/g++与make/makefile(代码片段)

一个程序是如何跑起来的难道不是Ctrl+f5吗,确实但是在这个过程在还进行了以下操作预编译编译汇编链接可我在vs或clon或别的编译器中没有这样呀,没错但是linux下可以那么我将告诉你是哪些命令预编译在这个间断中... 查看详情

上古卷轴5,用那个辅助开锁mod但是进游戏死活不见上方进度条出现,我就是正常的用nmm挂载啊,怎么

上古卷轴5,用那个辅助开锁mod但是进游戏死活不见上方进度条出现,我就是正常的用nmm挂载啊,怎么办参考技术A先看下MOD之间有冲突没,再用BOSS排下序,还不行再看下用skse_loader.exe进游戏。 参考技术B我也是这个问题,我用的... 查看详情