Linuxc下实现的命令行彩色进度条(makefile编译)

本文介绍如何使用C语言在Linux环境下实现彩色进度条,并通过Makefile进行工程管理,包括目标生成、依赖检查及执行命令。文章详细展示了进度条颜色变化的代码实现,以及如何编写Makefile文件来编译C程序并执行清洁操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、用C语言实现彩色进度条
test.c文件

#include<stdio.h>
#include<unistd.h>//只有linux下才有该文件
int main()
{
	int i=0;
	const char* label="/-\\|";
	char buf[1024]={0};
	for(i=0;i<100;++i)
	{
		buf[i]='#';
		if(i<=25)
		{
			 printf("[%d%%][%c]\033[0;31m[%s]\033[0m\r",i,label[i%4],buf);//红色
			 //	/n表示换行,另起一个新行,光标来到行首;/r表示回车,不另起新行,光标来到行首
		}
		else if(i>25&&i<=50)
		{
			printf("[%d%%][%c]\033[0;33m[%s]\033[0m\r",i,label[i%4],buf);//黄色
		}
		else if(i>50&&i<=75)
		{
			printf("[%d%%][%c]\033[0;34m[%s]\033[0m\r",i,label[i%4],buf);//蓝色
		}
		else
		{
			 printf("[%d%%][%c]\033[0;32m[%s]\033[0m\r",i,label[i%4],buf);//绿色
		}
		fflush(stdout);//手动刷新缓冲区
		usleep(500*100);//usleep单位是微秒
		}
		return 0;
	}

二、工程管理工具 Makefile(解决大型项目的模块之间相互依赖问题)
make的执行过程:
1.先在当前目录中查找makefile文件
2.找到要生成的目标(决定是否要真的生成)
3.检查依赖的文件是否都存在
4.执行生成动作的命令
一个makefile中可以存在多个目标,有的目标并不是为了要生成个东西,而仅仅是为了执行一些特定的操作,最典型的就是clean(清除之前生成的文件),clean这样的目标只是为了执行一个动作,而不是为了生成文件,如果目录中恰好有一个clean这样的文件,就会影响到动作的执行 ,就可以使用(.PHONY:)把clean声明成伪目标
我们写一个makefile文件来编译上边的test.c文件:
makefile文件

  test:test.c
          gcc  test.c -o test
  .PHONY:clean
  clean:
          rm test                                                                                                                                                
          make clean

写好makefile文件和test.c文件之后,输入make(如果makefile文件中有多条命令,make默认执行第一条指令),会执行 gcc test.c -o test;接下来可执行test文件来查看我们代码执行结果和我们预期结果是否相同。在生成test文件后输入make clean会执行 rm test (删除test生成文件);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值