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如何处理JSON字段_Eloquent原生JSON字段类型操作教程  Laravel如何升级到最新版本?(升级指南和步骤)  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何在云主机快速搭建网站站点?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  免费视频制作网站,更新又快又好的免费电影网站?  利用JavaScript实现拖拽改变元素大小  如何挑选优质建站一级代理提升网站排名?  如何在建站之星网店版论坛获取技术支持?  Laravel怎么在Controller之外的地方验证数据  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  高端云建站费用究竟需要多少预算?  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  java获取注册ip实例  想要更高端的建设网站,这些原则一定要坚持!  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  高端智能建站公司优选:品牌定制与SEO优化一站式服务  Android滚轮选择时间控件使用详解  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  C++时间戳转换成日期时间的步骤和示例代码  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  实例解析angularjs的filter过滤器  如何快速搭建高效简练网站?  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何用搬瓦工VPS快速搭建个人网站?  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  如何在万网ECS上快速搭建专属网站?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  Python结构化数据采集_字段抽取解析【教程】  非常酷的网站设计制作软件,酷培ai教育官方网站?  详解jQuery中的事件  Android中AutoCompleteTextView自动提示  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  Laravel如何配置Horizon来管理队列?(安装和使用)  Laravel如何创建自定义中间件?(Middleware代码示例)  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  如何在阿里云虚拟主机上快速搭建个人网站?  Laravel如何处理和验证JSON类型的数据库字段  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  如何用好域名打造高点击率的自主建站?