当前位置: 首页 > 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查看状态

相关文章:

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

目录 前言&#xff1a; 进度条小程序&#xff1a; 先介绍几个背景知识 代码实现 Git操作 总结 其他指令 前言&#xff1a; 本文将重点介绍1. linux下的程序设计&#xff0c;并使用linux下的几个函数接口。实现一个简单的小程序 2.本着开源精神&#xff0c;进行git操作。…...

Matlab中HybridFcn参数的用法

在 MATLAB 中&#xff0c;HybridFcn 参数允许你在全局优化&#xff08;如遗传算法 ga 或粒子群算法 particleswarm&#xff09;之后使用局部优化算法进一步微调解的精确度。HybridFcn 通过在全局优化找到的解基础上&#xff0c;进一步调用局部优化器&#xff0c;如 fmincon、pa…...

Leetcode 3316. Find Maximum Removals From Source String

Leetcode 3316. Find Maximum Removals From Source String 1. 解题思路2. 代码实现 题目链接&#xff1a;3316. Find Maximum Removals From Source String 1. 解题思路 这一题思路上的话就是一个动态规划的题目&#xff0c;我们仿照lcs&#xff0c;考察每一个位置是否可以…...

jeecg3版本的vue,离线启动

jeecg的vue2版本已经停止维护&#xff0c;所以只能用vue3的版本。3版本中使用的是pnpm&#xff08;npm的增强版本&#xff09;下载依赖。使用pnpm安装的node_modules&#xff0c;不能直接复制到离线主机中&#xff08;因为在 pnpm安装过程中&#xff0c;会给依赖的配置文件写死…...

C++的内存管理

[TOC} C的内存管理 各个区储存内容 1.栈 局部变量和在执行函数时&#xff0c;函数中创建的局部变量都会在栈上创建&#xff0c;函数执行结束时会被自动释放。从高地址向低地址储存。 2.堆 是new/malloc/calloc/realloc分配的代码块&#xff0c;需要手动释放。如果程序员没…...

YZ系列工具之YZ09:VBA_Excel之读心术

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套一部VBA手册&#xff0c;教程分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的…...

嵌入式系统---看门狗

在嵌入式系统中&#xff0c;看门狗定时器&#xff08;Watchdog Timer&#xff0c;WDT&#xff09;是一种常用的机制&#xff0c;用于检测和恢复系统在异常情况下的故障。如果系统因为某种原因&#xff08;如软件死循环&#xff09;而变得无响应&#xff0c;看门狗定时器可以自动…...

从MySQL5.7迁移到8.0时,有哪些重要的参数调整或新参数需要注意?

从 MySQL 5.7 迁移到 MySQL 8.0 时&#xff0c;有一些重要的参数调整和新参数需要注意。MySQL 8.0 引入了许多新功能和改进&#xff0c;同时也对一些现有参数进行了更改或废弃。 1. lower_case_table_names 说明: 控制表名是否区分大小写。重要性: 在迁移过程中&#xff0c;确…...

完整发布/上传uniapp Ios应用到App Store流程

使用uniapp打包&#xff0c;假如使用app store证书打包出来的ipa文件&#xff0c;需要上传到app store上才能上架。假如你还没有app store证书&#xff0c;还没有打包&#xff0c;你可以参考下面这篇文章&#xff0c;先创建打包证书再继续看这篇上架的教程&#xff1a;https://…...

CodeActAgent :Executable Code Actions Elicit Better LLM Agents解读

论文地址 https://arxiv.org/pdf/2402.01030.pdf 项目地址 https://github.com/svjack/CodeActAgent-Gradio/blob/main/README.md 代码智能体的优势 选择代码智能体有以下几个关键原因&#xff0c;它们相较于使用类似JSON的字典输出具有显著优势&#xff1a; 1. 代码的高…...

中小型医院网站开发:Spring Boot入门

2 相关技术简介 2.1 Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xff0c;…...

Java读取PDF后做知识库问答_SpringAI实现

​​​​​​​​​​​​​​ 核心思路&#xff1a; 简单来说&#xff0c;就是把PDF文件读取并向量化&#xff0c;然后放到向量存储里面&#xff0c;再通过大模型&#xff0c;来实现问答。 RAG&#xff08;检索增强生成&#xff09;介绍&#xff1a; 检索增强生成&#x…...

打开exe程序显示没有适当的访问权限

打开exe程序显示没有适当的访问权限 打开.exe可执行程序&#xff0c;显示Windows 无法访问指定设备、路径或文件。你可能没有适当的权限访问该项目。 解决方法 鼠标选中该文件或文件夹&#xff0c;右键单击选择属性&#xff0c;在弹出的属性选项卡中切换到安全选项卡&#xf…...

Python异步编程:使用`create_task`并发执行协程

Python异步编程&#xff1a;使用create_task并发执行协程 1. 什么是create_task&#xff1f;2. 为什么需要create_task&#xff1f;3. 如何使用create_task&#xff1f;3.1 基本用法3.2 任务的返回值 4. 注意事项5. 总结 在Python的异步编程中&#xff0c;asyncio库为我们提供了…...

从零开始搭建你的DolphinScheduler分布式任务调度平台实战指南

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问&#xff0c;结合内…...

第五课:Python学习之if语句

判断&#xff08;if&#xff09;语句 目标 开发中的应用场景if 语句体验if 语句进阶综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的&#xff0c;我们每天都在做各种各样的选择&#xff0c;如果这样&#xff1f;如果那样&#xff1f;…… 程序中的判断 # 定义…...

群晖前面加了雷池社区版,安装失败,然后无法识别出用户真实访问IP

有nas的相信对公网都不模式&#xff0c;在现在基础上传带宽能有100兆的时代&#xff0c;有公网代表着家里有一个小服务器&#xff0c;像百度网盘&#xff0c;优酷这种在线服务都能部署为私有化服务。但现在运营商几乎不可能提供公网ip&#xff0c;要么自己买个云服务器做内网穿…...

【秋招笔试】10.13拼多多(已改编)秋招-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集…...

50个JAVA常见代码大全:学完这篇从Java小白到架构师(附带讲解)

基础语法 1. Hello World public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");} }讲解 这是一个典型的Java程序,它定义了一个名为HelloWorld的类,该类包含一个main方法——Java应用程序的入口点。System.o…...

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.0 SP1升级到SP3操作方法(x64)

1、首先安装时候选择升级SQLEXPRADV_x64_CHS.exe。 2、接着安装SQLServer2008R2SP1-KB2528583-x64-sp1补丁后10.50.2500.0。 3、接着安装升级SQLEXPRWT_x64_CHS.exe。 4、继续安装SP3&#xff1a;SQLServer2008R2SP3-KB2979597-x64-CHS。 5、最后安装SP3补丁&#xff1a;SQ…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...