当前位置: 首页 > 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…...

Centos7安装Git及配置Github

Background Git 是一个开源的分布式版本控制系统&#xff0c;由 Linus Torvalds&#xff08;Linux 内核的创始人&#xff09;在 2005 年创建。它被设计用来快速有效地处理从小到大的项目版本管理。Git 目前是全世界最流行的版本控制系统&#xff0c;广泛应用于软件开发中。 1、…...

MobileNet v3(相比于MobileNet v2)

概述&#xff1a; 更新Block(bneck) 使用NAS搜索参数 &#xff08;Neural Architecture Search&#xff09; 重新设计耗时层结构 更准确&#xff0c;更高效 以及表中数据展示 更新Block 1.加入SE模块 2.更新了激活函数 首先通过一个1*1的卷积层来进行一个升维处理&#…...

短视频剪辑入门指南:这四大软件值得推荐!

要在众多的短视频作品中脱颖而出并不容易&#xff0c;这就要求制作者不仅要具备良好的创意&#xff0c;还需要掌握一定的剪辑技巧。这里给大家推荐几个好用的短视频剪辑工具&#xff01; 福昕视频剪辑 直达链接&#xff1a;www.pdf365.cn/foxit-clip/ 操作教程&#xff1a;立…...

网络编程(22)——通过beast库快速实现websocket服务器

目录 二十二、day22 1. websocket简述 2. 基于TCP长连接实现sebsocket a. Connection b. ConnectionMgr c. WebServer d. 编译的小问题 3. 测试 4. 基于http实现的websocket 二十二、day22 因为http受限于请求-响应模式&#xff0c;客户端发起请求&#xff0c;服务器…...

从视频截取每一帧作为图像

查看视频有多少帧 import cv2def count_frames_per_second(video_path):cap cv2.VideoCapture(video_path)if not cap.isOpened():print("Error: Could not open video")return None# Get frames per secondfps cap.get(cv2.CAP_PROP_FPS)# Get total number of f…...

终端 数据表格

// // Created by HongDaYu on 17 十月 2024. //#ifndef HDYSDK_UTIL_H #define HDYSDK_UTIL_H#include <cstdint> #include <string> #include <list> #include <iomanip> #include <memory>class dataGrid { private:std::list<const char*…...

2.4.ReactOS系统运行级别降低IRQL级别KfLowerIrql 函数

2.4.ReactOS系统运行级别降低IRQL级别KfLowerIrql 函数 2.4.ReactOS系统运行级别降低IRQL级别KfLowerIrql 函数 文章目录 2.4.ReactOS系统运行级别降低IRQL级别KfLowerIrql 函数KfLowerIrql 函数 KfLowerIrql 函数 /*******************************************************…...

数字后端实现静态时序分析STA Timing Signoff之min period violation

今天给大家分享一个在高性能数字IC后端实现timing signoff阶段经常遇到的min period violation。大部分时候出现memory min period问题基本上都是需要返工重新生成memory的。这是非常致命的错误&#xff0c;希望大家在做静态时序分析时一定要查看min period violation。 什么是…...

phpstorm+phpstudy 配置xdebug(无需开启浏览器扩展)

今天又被xdebug折磨了&#xff0c;忘记了以前咋配置了现在百度发现好多都是各种浏览器扩展而且也没有真正的用到项目上的都是测试的地址怎么样的 我就简单写一下自己实战吧 不支持workerman swoole hyperf等这种服务框架 如果你会请教教我 工具版本phpstudy8.1.xphpstorm2021.x…...

AI赋能安全运营 | 赛宁网安深度参与四川省网络安全沙龙

为促进四川省、市网络安全公共服务领域的经验交流与深入探讨&#xff0c;打通网络安全供需上下游&#xff0c;加速汇聚省、市优质网络安全设备和服务资源&#xff0c;提升巴中市乃至四川省网络安全防护水平&#xff0c;共同推动四川省网络安全事业的蓬勃发展。 2024年10月15日…...