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.操作 链接: 顺序表专题 这篇文章介绍了顺序表的概念与基本操作。 本文将…

【前端技术】CSS基础入门篇

一、 CSS简介 css&#xff08;Cascading Style Sheets&#xff0c;缩写为 CSS&#xff0c;也叫作层叠样式表&#xff09;是一套美化HTML标签所编写出页面的语法&#xff0c;CSS描述了如何在不同设备上渲染内容的方法。 二、 CSS基本引入方法 <!-- Cascading style shet:层…

[Android]Jetpack Compose状态管理

在 Jetpack Compose 中&#xff0c;状态管理是构建交互式应用程序的核心。Compose 设计思想强调了不变性和重新组合的概念&#xff0c;以支持高效的 UI 更新。 一、使用 Remember 和 MutableState 管理状态 remember 和 mutableStateOf 是管理状态的基础工具&#xff0c;特别…

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. 二…

面试算法十问2(中英文)

算法题 1: 数组和字符串 Q: How would you find the first non-repeating character in a string? 问&#xff1a;你如何找到字符串中的第一个不重复字符&#xff1f; Explanation: Use a hash table to store the count of each character, then iterate through the strin…

计算质数算法

// 计算质数// 输入&#xff1a;n 10// 输出&#xff1a;4// 解释&#xff1a;小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。public static int countPrimes1(int n){boolean[] isPrim new boolean[n];Arrays.fill(isPrim,true);for (int i 2; i*i<n ; i…

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

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

[可达鸭四月月赛——入门赛第六场(周六) T4]原初数题解

本题解署名&#xff1a;王胤皓 正文开始 题意 时间限制&#xff1a;1秒 内存限制&#xff1a;256M 题目描述 如果一个数字只由若干个不同的质数相乘得到&#xff0c;那么我们就称这个数字为“原初数”。本题中指的数字都是大于 1 1 1 的数字。 小可认为&#xff0c;原初…

QT Sqlite 内存模式 简单读写

//本文描述了QT Sqlite 内存模式 &#xff0c;使用QT 自带库文件&#xff0c;写入和读取。 //QT 6.2.4 MSVC2019调试通过。 //需要在pro文件中加入QT sql #include <QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> #include <QDebu…

在android 源代码中 使用gradlew 编译android 模块

gradle 编译子模块 在Gradle中编译子模块通常涉及到以下步骤&#xff1a; 1、确保你的项目结构是模块化的&#xff0c;每个子模块都是一个独立的目录2、在项目的根目录下的setting.gradle文件中&#xff0c;包含需要编译的子模块。例如&#xff1a;include ‘:submodule-name…

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

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

Kafak简单使用

Concept 待后续填坑…Push Data from kafka import KafkaProducer import jsondef push_kafka(sqlstring, valuelist):# logging.info("kafka string ----- [%s]" % (sqlstring % valuelist))producer KafkaProducer(bootstrap_servers["ip1:9092", &quo…

真实世界的密码学(一)

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

软考高级架构师:AI 通俗讲解软件维护的类型:正确性维护、适应性维护、完善性维护、预防性维护

软件维护是指在软件交付使用后进行的一系列活动&#xff0c;其目的是修复错误、提升性能或更新软件以适应变化的需求。通常&#xff0c;软件维护可以分为四种类型&#xff1a;正确性维护、适应性维护、完善性维护和预防性维护。下面我将用简单的例子和通俗的语言来解释这四种类…

实验4 数字频率计

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

【Java】文件操作(一)

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