自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 git 开发 分支 同步

git

2022-11-11 10:12:51 949 1

原创 对于linux下system()函数的深度理解(整理)

system函数说明:头文件:#include <stdlib.h>定义函数: int system(const char * string)函数说明system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。 返回值 =-1:出现错误 =0:调用成功但是没有出现子进

2020-08-19 18:22:36 389

原创 安装rpm包解决包冲突

NGINX离线升级安装,解决GCC和GCC-C++编译环境依赖的安装包冲突1、目标需求:因为要解决安全漏洞,需要将nginx由1.10.0版本升级到1.6.1版本,由于环境所限需要离线安装。2、环境描述:操作系统是Linux centOS 6.8 release Final版本,gcc环境已经存在的,但是gcc-c++环境没有。gcc和gcc-c++相关依赖包镜像地址 。nginx安装包需要到nginx官网下载,其他都可以在镜像地址下载到。3、问题描述:安装nginx新版本过程中发现gcc环境是

2020-08-19 17:29:50 5451

转载 【内核】关于linux下的.a文件与 .so 文件

一篇好文,分享,原文链接: https://www.cnblogs.com/luntai/p/5291354.html连续几天终于将一个又一个问题解决了,这里说其中一个问题描述问题:使用多线程pthread的时候,(我用的IDE,CODEBOLCKS)编译后发现直接弹出窗口,程序还没有被Build。。巴拉巴拉,然后陷入了这个循环。提示有一句pthead_create未定义。发现:pthread要用到动态链接库(libpthread.a)才能使用。解决办法:后来在setting->complie

2020-06-24 18:18:08 255

原创 B/S三层结构学习

B/S三层结构好处:ASP.NET的三层结构因为每一层都可以在更改很少量的代码后,就能放在物理上不同的服务器上使用,因而结构灵活并且性能更佳。此外,每一层做些什么其他层是完全看不到的,因此更改或者更新某层,都不需要重新编译或者更改全部的层。这个功能是比较强大的。例如:如果将数据访问代码与业务逻辑层分离,当数据库服务层更改后,只需要更改数据访问的代码,因为业务逻辑层是不变的,因此不需要更改或者重新编...

2020-04-22 12:20:02 4730

原创 C盘清理方法整理

解决方法:利用磁盘清理软件清理C盘,大约可为C盘释放50M-800M空间关闭休眠功能,在开始菜单的运行里输入powercfg -h off指令,关闭休眠,此文件实际大小和物理内存是一样的,大约可为C盘释放1-3G的空间。(这个方法我试了但是报错:无法执行操作。出现了意外错误(0x65b): 执行期间,函数出了问题。)设置虚拟内存:计算机属性>高级系统设置>设置(性能)>高...

2020-02-29 20:57:11 422 2

转载 CentOS7在虚拟机安装没有桌面问题

我在虚拟机上安装了CentOS 7,但是按Ctrl+Alt+F1,无法切换到图形界面,后来谷歌了一些大牛们的操作后,总结如下:以下操作必须再网络联通的情况下进行,网络配置可参见上一篇博客1、首先你需要下载一个GNOME桌面,命令如下,这里的引号一定要带上,强迫症的我试了不带引号,也能执行,但是执行完之后在grouplist里查看并未成功安装。yum groupinstall “GNOME D...

2020-02-22 15:22:59 7063

原创 Centos配置IP地址

有关于Centos7获取IP地址的方法主要是有两种,1:动态获取IP;2:设置静态IP地址在配置网络之前我们先要知道centos的网卡名称是什么,centos7不再使用ifconfig命令,可通过命令 IP addr查看,如图,网卡名为ens32,是没有IP地址的。1、动态获取ip(前提是你的路由器已经开启了DHCP)修改网卡配置文件 vi /etc/sysconfig/network-sc...

2020-02-19 20:43:03 604

原创 安装VMware时遇到的问题

问题1:镜像问题:由于没有虚拟机没有读取到正确的镜像文件路径和硬盘启动方式导致的。解决方式:虚拟机设置------->CD/DVD(SATA)------->选择ISO映像文件rhel-server-6.1-x86_64-dvd.iso(错因:因为我是把镜像直接放在了电脑的一个文件夹里面)接着选择镜像文件的路径------->然后再重新启动虚拟机就可以正常安装Linux系统了...

2020-01-22 17:35:18 659

原创 Redhat5解决中文乱码问题

自己解决方法:1、安装fonts-chinese-3.02-12.el5.noarch.rpm,fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm;(我按照网上方法执行到此,但一直乱码)2、进行到/usr/share/fonts目录下;3、执行fc-cache -fv。网上教程方法1:1、fonts-chinese-3.02-9.6.el5.noarch...

2020-01-21 10:55:23 559

原创 Linux系统编程||条件变量

一、条件变量1、条件变量的认识(1)大家可能知道互斥量是线程程序中必须的工具了,但是也不能是万能的,就比如某个线程正在等待共享数据某个条件的发生,这个时候会发生什么呢。它就可能重复的尝试对互斥对象锁定和解锁来检查共享数据结构。(2)线程在等待满足某些条件的时候使线程进入睡眠状态,一旦条件满足了就唤醒并等待满足特定条件而睡眠的线程。(3)条件变量一般都允许线程阻塞和等待另一个线程发送信号的方...

2020-01-20 12:01:12 142

原创 signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);

**signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);signal(SIGCHLD, SIG_IGN);因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。如果将此信号的处理方式设为忽略,可让内核把僵尸子进程转交给init进程去处理,省去了大量僵尸进程占用系统资源。(Linux Only)对于某些进程,特别...

2020-01-15 10:29:26 369

转载 八种排序算法详解

排序算法的比较1、稳定性归并排序、冒泡排序、插入排序。基数排序是稳定的选择排序、快速排序、希尔排序、堆排序是不稳定的2、时间复杂度最基础的四个算法:冒泡、选择、插入、快排中,快排的时间复杂度最小O(n*log2n),其他都是O(n2)排序法 平均时间 最差情形 稳定度 额外空间 备注 冒泡 O(n2) O(n2) ...

2019-10-12 23:14:50 539

原创 new /delete 与malloc/free 的区别

new /delete 与malloc/free 的区别1、new/delete是C++操作符,malloc/free是库函数2、new分配内存按照数据类型进行分配,malloc分配内存按照大小分配3、new在动态分配内存的时候可以初始化对象,调用其构造函数,delete在释放内存时 调用对象的析构函数。而malloc只分配一段给定大小的内存,并返回该内存首地...

2019-09-17 21:56:39 326

原创 C++类型转换

c强制转换与c++强制转换c语言强制类型转换主要用于基础的数据类型间的转换,语法为:(type-id)expression//转换格式1type-id(expression)//转换格式2c++除了能使用c语言的强制类型转换外,还新增了四种强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast,主要运用于继承关系类间的强制转化...

2019-09-14 16:51:44 494

转载 范式

#第一范式##定义以及分析:首先是第一范式(1NF)。符合1NF的关系(你可以理解为数据表。“关系模式”和“关系”的区别,类似于面向对象程序设计中”类“与”对象“的区别。”关系“是”关系模式“的一个实例,你可以把”关系”理解为一张带数据的表,而“关系模式”是这张数据表的表结构。1NF的定义为:符合1NF的关系中的每个属性都不可再分。表1所示的情况,就不符合1NF的要求。范式一强调数据表的原子性...

2019-08-17 00:15:15 946

转载 搜索结构之哈希表--线性探测法

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(H...

2019-08-14 23:54:41 4378

原创 几种线程间的通信机制

几种线程间的通信机制锁机制:1、互斥锁:提供了在某一时刻只允许一个线程独享一块临界资源。2、读写锁:允许多个线程同时读共享数据,而对写操作互斥3、条件变量:可以以原子的方式阻塞进程,直到某个特定条件为真为止。对测试条件是在互斥锁的保护下进行的。条件变量一般都是和互斥锁联合使用的。信号机制:线程间通信的主要目的是用于线程同步。进程间通信的几种方式?以linux操作系统为例(windo...

2019-08-14 22:44:42 1430

原创 死锁

死锁的概念?死锁的原因?1、死锁多进程或者多线程相的环境下,相互等待资源而产生的一种僵持状态。如果不添加外力进行干扰的话,那么这个状态会一直持续下去。2、死锁产生的原因: 系统资源不足 相互竞争资源 请求资源顺序不当产生死锁的必要条件?怎么处理死锁?死锁的必要条件:1、互斥条件。资源是独占的排他使用。进程互斥的使用资源,及在任何时刻一个资源只能有一个进程使用。其他进程要想使用...

2019-08-14 22:42:54 146

原创 线程的实现方式

线程的实现方式.(换种方式说即:用户线程与内核线程的区别)线程的实现可以分为两类:用户级线程(User-LevelThread)和内核线线程(Kernel-LevelThread),后者又称为内核支持的线程或轻量级进程。在多线程操作系统中,各个系统的实现方式并不相同,在有的系统中实现了用户级线程,有的系统中实现了内核级线程。  用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系...

2019-08-14 22:41:23 247

原创 线程和进程的区别和联系

线程和进程的区别和联系,简述什么是“线程安全”?线程是指进程内的一个执行单元,也是进程内的可调度实体。与进程的区别:地址空间:进程内的一个执行单元,进程至少一个线程,它们共享进程的地址空间,而进程有自己独立的地址空间。资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程资源线程是处理器调度的基本单位,但进程不是。线程安全就是说多线程访问同一代码,不会产生不确定的结果。编写...

2019-08-14 22:39:36 1072

转载 特殊矩阵——三对角矩阵(Tridiagonal Matrix)

特殊矩阵——三对角矩阵(Tridiagonal Matrix)注:压缩存储的矩阵可以分为特殊矩阵和稀疏矩阵。对于那些具有相同元素或零元素在矩阵中分布具有一定规律的矩阵,被称之为特殊矩阵。对于那些零元素数据远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称之为稀疏矩阵。1. 三对角矩阵的概念三对角矩阵就是对角线、邻近对角线的上下次对角线上有元素,其他位置均为0的矩阵。三对角矩阵是一...

2019-08-14 12:15:54 6284

原创 Qt默认不支持中文的原因

Qt的语言库,缺少支持中文输入的动态链接库。我的Qt安装在/home/shenlan/Qt5.9.5 /Qt Creator 会去以下目录寻找支持:/home/shenlan/Qt5.9.5 /Tools/QtCreator/lib/Qt/plugins/platforminputcontexts我们的应用程序会去以下目录寻找支持/home/shenlan/Qt5.9.5 /gcc_64...

2019-08-14 09:35:25 1101

原创 C++ 虚函数表 vfptr

C++ 虚函数表 vfptr大家都应该知道C++的精髓是虚函数吧? 虚函数带来的好处就是: 可以定义一个基类的指针, 其指向一个继承类, 当通过基类的指针去调用函数时, 可以在运行时决定该调用基类的函数还是继承类的函数. 虚函数是实现多态(动态绑定)/接口函数的基础. 可以说: 没有虚函数, C++将变得一无是处!既然是C++的精髓, 那么我们有必要了解一下她的实现方式吗? 有必要! 既然C+...

2019-08-14 09:30:03 144

原创 C语言----预处理

预处理1、在C语言中所有以#开头的指令都是预处理指令2、预处理它本身并不属于C语言的一部分,在程序编译之前,先对程序中这些特殊的命令进行“预处理”,根据预处理命令对程序进行相应的处理,经过处理的程序不再包含预处理命令,此时可对程序进行编译。3、预处理是在编译之前完成的。宏定义:#define 标识符 字符串#define PI 3.14int main(){ double ...

2019-04-21 15:03:19 637

原创 C语言------函数

一、函数的作用:1、复用性(可充用性):提高效率,减少代码量。2、功能分解:降低开发成本,对于开发人员,便于分工合作。二、函数分类(函数名最好与系统的函数名区分开)函数之间可以相互调用,但不允许嵌套使用,不允许调用main函数,main函数是由系统调用的。所有函数必须先定义后使用;C语言规定在所有的参数前必须有类型说明符来说明参数类型。#include <stdio.h>...

2019-04-19 18:43:18 270

原创 C语言------数组

一、数组的特点:一致性:同类型数据集合,定义的数组中所有的元素都是同样类型的; 有序性:因为是线性的,所有元素都有严格的前后关系,不是指排过序的; 连续性:指的是顺序存储关系,数组要求该数组中所有的数据元素存储空间是一块连续的存储空间。# include <stdio.h># include <stdlib.h>#include <time.h>...

2019-03-28 14:07:27 377

原创 转义字符及其含义

在字符常量中使用单引号,反斜杠以及双引号时,都必须使用转义字符表示,即在这些字符前加上反斜杠。转义字符及其含义 转义字符 含义 ASCⅡ码值(十进制) \a 响铃(BEL) 007 \b 退格(不换行) 008 \f 走纸换...

2019-03-04 18:28:46 13063

原创 最大公约数和最小公倍数求法和简单排序

判断素数:判断一个数是否是素数,n不必被2~(n-1)的整数整除,只需被2~n/2之间的整数整除即可,甚至只需要被2~根号n之间的整数整除即可。最大公约数求法:a与b的最大公约数是指能同时整除a与b的最大的整数更相减损之术:以两数中较大的数减去较小的数,获得的差与原先较小的数构成新的一对数,再以大的数减去小的数,依次循环。例如:(12,16)?(12,4)?(8,4)?(4,4)最大公约...

2019-03-03 22:37:04 454

原创 图的基础知识

图的定义:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是                 图G中边的集合。线性表中我们把数据元素叫元素,书中将数据元素叫结点,在图中,数据元素我们则称之为顶点; 线性表中可以没有数据元素,称为空表;树中可以没有结点,叫做空树;但是,在图结构中,不允许没有顶点,在定义中,...

2019-01-26 16:42:12 147

原创 数据结构浅谈(二)

   上一个是大致了解一下数据结构的含义及一些小的概念,今天介绍一下线性表的概念 线性结构:把所有的结点用一根直线穿起来线性表【List】:零个或多个数据元素的有限序列         概念理解:若将线性表记为(a1,...,ai-1,ai,ai+1,...an),则线性表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,...

2019-01-24 00:23:25 239

原创 浅谈数据结构(一)

数据结构课程是学习软件中最核心的课程 :数据结构是一门研究非数值计算的程序设计问题的操作对象,以及它们之间的关系和操作等相关问题的学科。 那么数据结构的定义是什么呢? :数据结构是把现实中大量而复杂的问题转化成特定的数据类型(单个数据怎样存储)和特定的存储结构(个体的关系)保存在主存储器(内存)中,以及在此基础上为实现某个功能而进行的相应操作(比如查找某个元素,删除某个元素,对所有元素进行排序等)...

2019-01-22 18:37:46 194

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除