Linux---make及小程序进度条

更多点子:linux—目录索引(知识小渠道)


make 执行 Makefile
一个Makefile主要含有一系列的规则:
目标:依赖文件
tab 命令
main.o: main.c
gcc -c -g main.c -o main.o

-Wall   输出所有警告信息
-O    在编译时进行优化
-g   表示编译debug版本
$^     代表所有的依赖文件
$@    目标文件
$<     第一个依赖文件
@指令   不显示该命令
    %.o : %.c
    gcc -c $< -o $@
定义变量:变量一般定义大写
变量名 = 值12 ...
使用变量 $(变量名)
一般在Makefile 后面还会有一个clean
.PHONY : clean //声明成伪目标,不再比较时间戳,一定会执行命令
OBJS=main.o add.o sub.o//定义变量
clean:
rm -rf $(OBJS)

像这样:这里写图片描述
在这说明一下
pbar.c 是我们写代码的.c
processbar 相当于我们的工程

//进度条的代码
#include<stdio.h>
#include<unistd.h>
int main()
{
        char buf[101]={};
        int i;
        for(i=0;i<=100;i++)
        {
                buf[i]='#';
                char* p="|/-\\";
                printf("\r\033[3%dm[%-100s][%i%%][%c]\033[0m",i%8,buf,i,p[i%4]);
                fflush(stdout);
                usleep(100000);
        }
        printf("\n");
        return 0;
}

char* p 转圈圈
fflush(stdout); 清除缓冲区
usleep(100000); 慢点输出
变色:
\033[33m变色内容\033[0m
第一个\033 是格式化处理
最后的\033是以前设置的格式都清除掉
中间的m是必须的
第一个后面的三几是颜色 这个几是0-7 0是黑色7是白色
输出的最终结果像这样:这里写图片描述
不得来把bulingbuling:
动图
如果有什么不对的地方,可以评论告诉我,望指导!

猜你喜欢

转载自blog.csdn.net/phonycat/article/details/79796029