Linux用make指令编译进度条程序

发布时间 - 2026-01-11 00:33:16    点击率:

本文实例为大家分享了Linux下写一个简单进度条的具体代码,供大家参考,具体内容如下

首先建立一个新的文件,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]);这里的%%同上,防止转义。rate%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  # make  # 进度条  # Linux下模拟实现进度条实例详解  # Linux下简易进度条的实现代码  # linux shell进度条实现方法  # Linux简易彩色进度条的实例代码  # 如图  # 建立一个  # 对他  # 再用  # 大家分享  # 该文件  # 需要注意  # 具体内容  # 大家多多  # 则需  # 写进  # 如图所示  # 直接输入  # stdio  # lt  # string  # gt  # unistd  # char 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何生成腾讯云建站专用兑换码?  制作公司内部网站有哪些,内网如何建网站?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  如何在宝塔面板创建新站点?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  太平洋网站制作公司,网络用语太平洋是什么意思?  公司门户网站制作流程,华为官网怎么做?  如何在万网ECS上快速搭建专属网站?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  如何制作一个表白网站视频,关于勇敢表白的小标题?  大同网页,大同瑞慈医院官网?  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Laravel怎么在Blade中安全地输出原始HTML内容  如何快速查询网址的建站时间与历史轨迹?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  香港服务器选型指南:免备案配置与高效建站方案解析  微信小程序 canvas开发实例及注意事项  Windows Hello人脸识别突然无法使用  图册素材网站设计制作软件,图册的导出方式有几种?  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  JS弹性运动实现方法分析  常州企业网站制作公司,全国继续教育网怎么登录?  Android自定义listview布局实现上拉加载下拉刷新功能  微信小程序 闭包写法详细介绍  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何快速打造个性化非模板自助建站?  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  如何快速完成中国万网建站详细流程?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  浅谈redis在项目中的应用  网站建设整体流程解析,建站其实很容易!  Linux安全能力提升路径_长期防护思维说明【指导】  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  详解Android——蓝牙技术 带你实现终端间数据传输