Linux gcc day7

动态链接和静态链接

形成的可执行的程序小:节省资源--内存,磁盘

 

 

无法c静态库链接的方法

原因是我们没有安装静态c库(.a)

所以要安装

sudo yum install -y glibc-static

gcc static静态编译选项提示错误:/usr/lib/ld:cannot find -lc - 小禾先生 - 博客园 (cnblogs.com)

我们的指令都是链接动态库的所以不可以乱删系统的c  库的东西

 c++静态标准库

 sudo yum install -y libstdc++-static

 

Linux项目自动化构建工具-make/Makefile

make是一个命令,makefile是一个文件

 touch M/makefile   //首字母可以大写也可以小写

vim M/makefile

makefile注意的事项

:是依赖关系 

tab开头的是依赖方法

那如何用makefile清理?

编辑makefile文件

make是怎样执行的?

伪目标PHONY(下面有详细)

那系统是如何知道编译的文件为最新的呢?

是根据时间来判断

stat命令查看文件的时间

介绍 stat下的(access modify change(属性、权限))

为什么修改了文件的内容,change要修改呢?

因为当内容修改了,文件的大小就会修改所以change的是时间也会改变 

回到话题

那系统是如何知道编译的文件为最新的呢?

是根据修改时间modify,因为先有源文件再有可执行目标文件,所以可执行文件的modify总是比源文件的modify要新,如果源文件被修改了那modify就会被修改,那系统就会用可执行文件modify和源文件modify对比就可以知道是否要更新

所以出现了伪目标.phony    (停止以modify时间来判断or不以时间来判断)

makefile的推导规则:

不建议这样写,了解就好

 

Linux下的第一个小程序

了解下这个函数

fflush()函数-CSDN博客

倒计时:

/n是具有行刷新,fflush也具备行刷新(缓冲区刷新)

多文件形式编写进度条

 

 编写完成保存退出

对makefile的编写

执行成功但是它会遮住命令行所以我们在函数下加printf("\n") 

现在进行优化添加进度:如10%,50%

效果:

添加旋转效果:

增加进度条的形状选择

git命令行

git是什么?

 版本控制器,类似于云仓库

自建网站----->我的版本控制器(git)可以不用客户端,直接在浏览器上可以进行操作 

这个浏览器叫github(国外),因为国内原因访问不了外网(访问很慢)所以国人自己建立

gitee,git其实就是工具(去中心的分布化的版本控制器)

git发展史

git操作

进入gitee网站

回到Linux centos7 我的是xshell远程服务器

在选择自己合适的目录下

git clone 【自己复制的仓库链接】      //将远端的仓库拉取下来

因为.gitignore是.开头的隐藏文件所以要

ls -al 或者ll -a

vim .gitignore    //打开

这文件上有的文件后缀名对应的文件是不会被上传到gitee上

为什么?因为gitee只接收  .c  .h  .cpp等源文件

将本地的仓库上传到远端的gitee上

实验:

yum install -y git           //先安装git工具

 git add .     / /将新创建的文件添加到本地仓库.git   (.git的临时区)

只要知道刚刚的命令将process文件经过二进制解码的方式添加到  .git 本地仓库就行

先不用管添加到哪里 

(添加到本地仓库的临时区)

 git commit -m ‘xxxxxx’   //xxx为日志不要乱写

将临时区的文件添加到本地仓库

push git    //将本地的仓库推送到远端

 

提交成功 

git log    //查看日志

做一个实验

(准备环境)

第二步

现在我们已经在仓库里面建立的许多文件,如何对比呢?

git status     //查看状态 

现在有新增的也要修改的

怎么办呢?

git add .    //将当前的目录下去找所有不存在的文件

打开gitee

我们在process目录下做的修改

若我们想要整体修改就要在最外面的目录下进行

git mv 【文件名】 【new文件名】

回到gitee,已经修改了

也就是本地和远端是同步的

刚刚的sln文件也没有传上来

很重要

注意:只可以口述

如果有一天一个人在gitee下直接修改了文件内容

另一个人在Linux本地仓库下增加了一个文件

想要同步远端仓库

hint :冲突

会有提示因为不同步,所以需要

git pull        //将远端的仓库拉到本地

此时输入账号密码

会出现很多垃圾文件直接无视  :wq退出就行

搞完后再git push

现在远端和本地发生了同步

删除

git rm 【文件名】

git log

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/2824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一些常见的Windows命令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言看版本号查找端口启动程序杀死某个端口查看全部端口看ip进入目录就是总结 前言 提示:这里可以添加本文要记录的大概内容: 例如&#x…

【算法分析与设计】重复的DNA

📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 DNA序列 由一系列核苷酸组成,缩写为 A, C, G 和 T.。 例如,"ACGAATTCCG" 是一个 DNA序列 。 在研究…

「 网络安全常用术语解读 」软件物料清单SBOM详解

1. 概览 软件物料清单(Software Bill of Materials,SBOM)是软件成分信息的集合,SBOM文件中记录了软件产品或服务所使用组件、库、框架的清单,用于描述软件构建过程中使用的所有组件及其关系,以实现软件供应…

顺序表的应用-通讯录

顺序表的应用-通讯录 1.操作2.功能要求2.1.功能要求2.2.思路小结2.3.文件梳理2.4.代码实现"SeqList.h""Contact.h""SeqList.c""Contact.c""test.c" 1.操作 链接: 顺序表专题 这篇文章介绍了顺序表的概念与基本操作。 本文将…

ctfshow web入门 SQl注入 web191--web200

web191 多了一个正则绕过 上脚本布尔盲注 用ord #author:yu22x import requests import string url"http://70adf0cb-2208-4974-b064-50a4f4103541.challenge.ctf.show/api/index.php" sstring.ascii_lettersstring.digits flag for i in range(1,45):print(i)for j…

【C 数据结构】二叉树

文章目录 【 1. 基本原理 】1.1 二叉树的性质1.2 满二叉树1.3 完全二叉树 【 2. 二叉树的顺序存储结构 】2.1 完全二叉树的顺序存储2.2 普通二叉树的顺序存储2.3 完全二叉树的还原 【 3. 二叉树的链式存储结构 】【 4. 二叉树的先序遍历 】4.1 递归实现4.2 非递归实现 【 5. 二…

项目九:学会python爬虫数据保存(小白圆满级)

前言 前篇我们能够学会爬虫的请求和解析的简单应用,也能看懂爬虫的简单代码和运用,这一次我们学一下爬虫页面请求解析的数据通过什么样的方法来保存。 目录 前言 存储方法 1.文本文件 2.CSV文件 3.Excel文件 4.HTML文件 5.JSON文件 6.XML文件 …

3D开发工具HOOPS SDK在电子设计自动化(EDA)中的应用

在当今电子行业中,电子设计自动化(EDA)软件的重要性日益突显。这些软件不仅需要能够处理大量的电子设计数据,而且需要提供高效的设计工作流程、准确的分析模拟功能以及直观的可视化界面。为了满足这些需求,开发者们寻求…

真实世界的密码学(一)

原文:annas-archive.org/md5/655c944001312f47533514408a1a919a 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 序言 当你拿起这本书时,你可能会想,为什么又一本关于密码学的书?甚至,为什么我要读这本…

实验4 数字频率计

实验目的: 1、使用铆孔U7输出一个脉冲,频率不定。 2、使用铆孔V7测量脉冲频率,并在数码管上显示。 实验内容及步骤: 设计原理 测量频率的方法有很多,按照其工作原理分为无源测量法、比较法、示波器法和计数法等。…

【Java】文件操作(一)

文章目录 ✍一、文件的基本认识1.文件是什么?2.文本文件和二进制文件3.文件权限4.相对路径和绝对路径1.1绝对路径1.2相对路径 ✍二、文件的基本操作1.FIle的属性2.File的构造方法3.File类的方法3.1File类的获取操作3.2File类的判断操作3.3文件创建和删除3.4其他的常…

深入理解JavaScript:对象什么时候创建

🌟 我们在chrome浏览器中debug程序。为了好debug我们会写一些在日常开发中基本不会采用的代码书写方式。 JavaScript中创建对象有3中方式: 1、对象字面量; 2、new; 3、Object.create(对象); 1、使用new创建对象 fun…

玩转PyCharm

玩转PyCharm PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个集成开发环境,它最大的优点是能够大大提升Python开发者的工作效率,为开发者集成了很多用起来非常顺手的功能,包括代码调试、高亮语法、代码跳转、智能提示、自动补…

SWOT分析法:知彼知己的战略规划工具

文章目录 一、什么是SWOT分析法二、SWOT分析法如何产生的三、SWOT分析法适合哪些人四、SWOT分析法的应用场景五、SWOT分析法的优缺点六、SWOT分析实例 一、什么是SWOT分析法 SWOT分析法是一种用于评估组织、项目、个人或任何其他事物的战略规划工具。SWOT是Strengths&#xff…

PotPlayer详细安装教程

安装步骤 进入官网: https://potplayer.tv/ 根据自己电脑的windows系统选择对应的版本安装 选择合适的字体 下载完成 优化设置 刚下好的potplayer仅限于能用,所有设置均为默认状态,我们需要进行优化 首先打开potplayer 右击选择选项 在…

C语言洛谷题目分享(10)最厉害的学生和明明的随机数

目录 1.前言 2.俩则题目 1.最厉害的学生(p5740) 1.题目描述 2.输入格式 3.输出格式 4.输入输出样例 5.题解 2. 明明的随机数 1.题目描述 2.输入格式 3.输出格式 4.输入输出样例 5.题解 3.小结 1.前言 哈喽大家好啊,今天继续为大…

Linux 基础命令使用创建用户

浏览网站的时候图片,看到一个小练习。创建用户分别位于不同的用户组。 解答下面的题目 2、建立用户使用 useradd,设置密码使用passwd的命令。大概不会使用命令可以借助man来解答。 先建立用户组: groupadd group1 # group1 不存在先建立&…

会声会影滤镜怎么用 会声会影滤镜效果怎么调 会声会影视频制作教程

在进行视频剪辑时,合理地运用滤镜效果可以提升视频的观赏性,使你的作品更加出彩。这篇文章便一起来学习会声会影滤镜怎么用,会声会影滤镜效果怎么调。 一、会声会影滤镜怎么用 使用会声会影的滤镜效果非常简单,以下是具体的操作…

全氟己酮灭火绳的用法早知道:灭火绳多少钱一米?

全氟己酮灭火装置作为一种高效、安全、环保的灭火技术,已经成为了备受青睐的新型灭火选择之一。伴随着市场需求不断增长,在全氟己酮厂家的努力下,各式各样的全氟己酮自动灭火装置不断涌现,包括自动灭火贴、灭火片、灭火毯、灭火绳…

如何打造自己的O2O平台系统:商业模式探索与实践

大家好,我是微三云周丽,今天给大家分析当下市场比较火爆的商业模式! 小编今天跟大伙们分享什么是O2O平台系统? 在数字化浪潮的推动下,O2O(Online to Offline)商业模式已成为连接线上与线下、商家…