自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KVM虚拟机网络配置方式 (Bridge方式 Nat方式)

Summary使用libvirt安装完qemu kvm虚拟机,但是发现虚拟机不能上网,虚拟机想要上网,有很多中方法。 我们称Guest机器为虚拟机,Host机器为开机运行的真实机器。KVM虚拟机网络配置一般的两种方式:NAT (默认上网) 虚拟机利用host机器的ip进行上网.对外显示一个ipBridge 将虚拟机桥接到host机器的网卡上,guest和host机器都通过brid...

2018-06-06 15:36:36 44800 3

原创 【Linux】多线程

进程与线程概念进程: 进程是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态的概念,竞争CPU的基本单位。每一个进程都有自己的地址空间,进程至少有五种状态:初始态,就绪态,执行状态,等待状态,终止状态。 线程: 是进程的一部分,是执行程序的最小单位,是一个进程内部的控制序列。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(线程ID,一...

2018-03-25 16:37:42 206

原创 【Linux】Linux几个重要命令的使用

dudu [选项][文件]-a或-all 显示目录中个别文件的大小。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -k或–kilobytes 以KB(1024bytes)为单位输出。 -s或–summarize 仅显示总计,只列出最后加总的值。 -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -S或–

2017-11-18 17:32:14 281

原创 【数据结构】map 和 set 增、删、查、改的使用

map:map 是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字K,每个关键字只能在map中出现一次,第二个可能称为该关键字的值V)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。1

2017-11-05 11:52:55 392

原创 分析:为什么模板不支持分离编译

我们先用一个实例来看一下模板分离现象头文件#include<iostream>using namespace std;template < class T >class A{public: A();private: int _a;};模板类#include"template.h"template<class T>void test(){ A<T>::A()

2017-10-10 15:18:07 236

原创 【C++】继承和多态之——菱形继承

菱形继承的模型  菱形继承是c++中的一种多继承,它的继承关系模型如下图,因此被称为菱形继承。菱形继承中的问题 菱形继承中存在的问题——菱形继承是多继承,那么和单继承不同,可能会出现一些问题:如果Child_1,Child_2都对Father中fun1进行重写,共用一个虚表,此时就会发生冲突。这时就要(virtual)虚函数,这时Child_1,Child_2就会生成各自的虚表,互不影响。

2017-08-04 02:05:45 469

原创 【Linux】TCP的四种定时器介绍

TCP使用四种定时器(Timer,也称为“计时器”): 重传计时器:Retransmission Timer 坚持计时器:Persistent Timer 保活计时器:Keeplive Timer 时间等待计时器:Time_Wait Timer。(1)重传计时器:重传定时器:为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建这个特定报文段的重传计时

2017-08-02 18:19:17 456

原创 【Linux】端口的分类、URG和PSH

简述端口:端口号是用来标识目的主机当中的唯一网络进程,因此IP地址+端口号=》套接字;套接字可以确定唯一的一个进程。 Tcp/Ip协议中引入一种叫做“套接字”的应用程序软件,有了这样一种技术,一台电脑就可以与任意一台具有套接字的电脑通信。 端口的分类:从性质来分: 1)公认端口:0—1024,紧密绑定一些特定的服务,这类端口不可重新定义它的作用对象,例如80号端口对应http,23号

2017-08-02 18:14:31 477

原创 【C++】模拟String___引用计数写实拷贝

> 1、引用计数作为独立的一块空间#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;#class String{public: String(char* str="") :_Refcount(new int(1)) { _str = new char[s

2017-07-25 20:53:47 185

原创 【C++】C++基础:指针__引用__const

引用什么是引用?引用:就是给已定义的某一变量(目标)起一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名 虽然引用的使用和变量的使用大同小异,但是,还是有些陷阱需要大家注意: 1、引用必须初始化 2、引用可以连续引用 3、引用只能在初始化引用一次 const引用const修饰的变量在C中为常变量(还是变量) 在C++中是一个常量 con

2017-07-04 16:35:18 240

原创 【c++面试题】c++中函数的重载,c++程序中调用C编译器编译后的函数为什么要加extern "C"

函数的重载先看一段代码:int Add(int x, int y){ return x + y;}double Add(double x, double y){ return x + y;}int main(){ int ret = Add(1, 2); double num = Add(1.0, 2.0); return 0;很显然,这在C编译器

2017-07-02 17:14:15 631

原创 【Linux】线程(概念、特点、线程控制代码--创建/等待/终止、分离与结合属性)

一、进程和线程 进程和线程的概念:进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成(拥有很多相对独立的执行流的用户程序共享应用程序的大部分数据结构),线程与同属一个进程的其他的

2017-06-13 17:21:21 344

原创 【Linux】关于死锁(基本概念,产生的场景,产生的条件,避免死锁的算法及原理)

一、死锁的定义 在多道程序系统中,由于多个进程的并发执行,改善了系统资源的利用率并提高了系统的处理能力。然而,多个进程的并发执行也带来了新的问题——死锁。 所谓死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。下面我们通过一些实例来说明死锁现象。先看生活中的一个实例, 在一条河上有一座桥,桥面很窄,只能容纳一辆汽车通行。如 果有两辆

2017-06-13 16:04:29 636

原创 C语言中 数组的运算及sizeof()和strlen()操作符的简单介绍

sizeof()sizeof 在是用来判断数据类型或者表达式的长度符,(注意:它和strlen不一样它只是一个操作符,而strlen()为一个函数) MSDN上的解释为: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregat

2017-04-15 12:57:37 581

原创 【二分查找】用C语言实现一个有序数组的二分查找

什么是二分查找?首先,二分查找也叫折半查找,它是对于一组有序(升序或降序)数列来说的,我们举例子说明这个思想。 例如:猜数字游戏 随机给出1-100内的一个数字,请猜出这个数字 那我们不能随机没有规律的去猜,这时考虑二分查找的思想 例如38 第一次猜50,告诉你猜大了,那么此时就在1-50内折半 第二次猜25,告诉你猜小了,那么此时就在26-49内折半…以此类推 这就是二分查找的思想。

2017-04-12 19:49:51 12297 2

原创 task_struct结构

在linux 中每一个进程都由task_struct 数据结构来定义.task_struct就是我们通常所说的PCB. 它是对进程控制的唯一手段也是最有效的手段. 当我们调用fork() 时, 系统会为我们产生一个task_struct结构。 然后从父进程,那里继承一些数据, 并把新的进程插入到进程树中, 以待进行进程管理。 因此了解task_struct的结构对于我们理解任务调度(在li

2017-04-10 19:34:09 301

原创 C语言中strand() rand() time()函数的简单介绍及获取随机数的方法

rand()函数简介功 能 :伪随机数发生器 所属库:stdlib.h 用 法 :需要先调用srand初始化,一般用当前日历时间初始化随机数种子,这样每行代码都可以产生不同的随机数。 函数原型:int rand(void); 接下来我们写一段代码来获取10个随机数include <stdio.h>include <stdlib.h>int main(){int i;printf("

2017-04-09 16:18:41 17598 1

原创 C语言 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现

首先先列出花括号正确和错误的匹配方式:正确的:{}  、 {{}}、  {}{}错误的:}{  、  { 、    }、{{}、{}}、{}{}{、{}{}}等 那么如何编写这个程序呢我们首先给出一个计数器count,如果是{出现我们count++,如果是}出现,我们count--,当最后结束时如果count=0的话括号匹配,否则不匹配。接下来我们讨论具体的情况:源代码

2017-04-09 12:46:02 1301

原创 Linux下用C语言来实现简单的进度条

一、源代码#include#includevoid proc(){   int rate=0;//进度率 表示进度走的百分比   char bar[102]={0};//初始化进度条大小 0-100应给101个 我们把最后一个设为空   const char *sta="-\\|/";看进度条是否卡顿还是在工作   while(rate    {

2017-04-05 19:35:17 1034 27

原创 Linux中 Access Modify Change三者的解释、区别和联系

首先,我们先创建一个目录 用 mkdir 指令+文件名,指令创建一个code目录(mkdir code)然后 用cd +目录名进入创建好的目录里面(cd code)然后 touch+文件名创建一个文件(touch file)执行 stat+文件名命令(stat file)就出现了 Access Modify Change,请记住现在Access的时间(因为没有被修改

2017-03-25 10:59:56 2291

空空如也

空空如也

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

TA关注的人

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