当前位置: 首页 > news >正文

linux环境下的程序设计与git操作

目录

前言:

进度条小程序:

先介绍几个背景知识

代码实现

Git操作

总结

其他指令


前言:

本文将重点介绍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查看状态

http://www.lryc.cn/news/462290.html

相关文章:

  • Matlab中HybridFcn参数的用法
  • Leetcode 3316. Find Maximum Removals From Source String
  • jeecg3版本的vue,离线启动
  • C++的内存管理
  • YZ系列工具之YZ09:VBA_Excel之读心术
  • 嵌入式系统---看门狗
  • 从MySQL5.7迁移到8.0时,有哪些重要的参数调整或新参数需要注意?
  • 完整发布/上传uniapp Ios应用到App Store流程
  • CodeActAgent :Executable Code Actions Elicit Better LLM Agents解读
  • 中小型医院网站开发:Spring Boot入门
  • Java读取PDF后做知识库问答_SpringAI实现
  • 打开exe程序显示没有适当的访问权限
  • Python异步编程:使用`create_task`并发执行协程
  • 从零开始搭建你的DolphinScheduler分布式任务调度平台实战指南
  • 第五课:Python学习之if语句
  • 群晖前面加了雷池社区版,安装失败,然后无法识别出用户真实访问IP
  • 【秋招笔试】10.13拼多多(已改编)秋招-三语言题解
  • 50个JAVA常见代码大全:学完这篇从Java小白到架构师(附带讲解)
  • Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.0 SP1升级到SP3操作方法(x64)
  • Centos7安装Git及配置Github
  • MobileNet v3(相比于MobileNet v2)
  • 短视频剪辑入门指南:这四大软件值得推荐!
  • 网络编程(22)——通过beast库快速实现websocket服务器
  • 从视频截取每一帧作为图像
  • 终端 数据表格
  • 2.4.ReactOS系统运行级别降低IRQL级别KfLowerIrql 函数
  • 数字后端实现静态时序分析STA Timing Signoff之min period violation
  • phpstorm+phpstudy 配置xdebug(无需开启浏览器扩展)
  • AI赋能安全运营 | 赛宁网安深度参与四川省网络安全沙龙
  • R语言中,.RData 和 .rds 的区别