目录
前言:
本文将重点介绍1. linux下的程序设计,并使用linux下的几个函数接口。实现一个简单的小程序
2.本着开源精神,进行git操作。
进度条小程序:
进度条的核心是倒计时的实现与进度条的打印。
先介绍几个背景知识
1.sleep函数
在unistd.h中
他的作用是让程序进行休眠,单位是秒。
2.usleep函数
让程序休眠,单位是微秒。1s = 1000毫秒 1毫秒 = 1000微秒
3.回车与换行
回车:\r 换行:\n
回车的作用是将光标定位到首字符位置,换行的作用是将光标定位到下一行
4.C语言的输出格式默认是从右到左输出,%-才是从左到右输出
5.想让字符串出现\,或者想打印%,需要进行转移,如%%用来打印%,\\用来在字符串中表示\
%-100s 表示输出100字符,从左到右输出
6.在Linux开发中,缓冲区的刷新默认以换行\n为刷新标准,回车\r并不能进行刷新。
因此为了及时刷新,需要fflush函数。
fflush(stdout)就是刷新屏幕。(linux下一切皆文件,显示器就是stdout文件)
代码实现
至于头文件,我们应该先保证#pragma once
void processbar(int speed)
{
char bar[NUM];
memset(bar, '\0', sizeof(bar));
int len = strlen(lable);
int cnt = 0;
while(cnt <= TOP)
{
printf("[%-100s][%d%%][%c]\r", bar, cnt, lable[cnt%len]); // 没有\n,就没有立即刷新,因为显示器模式是行刷新
fflush(stdout);
bar[cnt++] = BODY;
if(cnt < 100) bar[cnt] = RIGHT;
usleep(speed);
}
printf("\n");
}
在makefile中并不需要头文件。这是因为源文件包含了头文件,编译的时候,会将头文件展开(头文件与源文件的路径相同)
Git操作
git主要用于代码的协作与开源工作。下面是gitee为例的git操作。
仓库创建
选择HTTPS协议
clone
将远程仓库拉取到本地
将文件移动到仓库中:mv指令不需要-r
testdir以外就是我们拉取下来的东西。
.gitignore文件内部就是需要过滤的文件
当然我们也可以用添加 *.pp 等方式增加过滤其他形式(如pp)的文件
add
add操作将新增的文件、修改的文件添加到暂存区
commit
-m "说明" 的形式进行说明的补充(必须要有!)
转正:暂存区中的文件更改被正式记录为版本库中的一个提交(commit)。这意味着这些更改现在成为了项目历史的一部分,可以被引用、比较和回滚。
信息记录:在执行commit时,你通常会提供一个提交信息(commit message),这是一个对此次提交所做的更改的描述。这个信息对于其他开发者(或未来的你)理解提交的目的和内容至关重要。
push:推送到远端
进行push需要输入用户名和密码。
提交完成
总结
步骤:clone把远端仓库拉取-----将需要提交的代码复制到拉取到本地的这个仓库文件中 ----- add到暂存区-----commit转正、记录日志-----push到远端仓库
其他指令
git status:查看目前的状态。在add、commit等指令之后可以git status查看状态