自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

linus_Robot的博客

渣渣的成长之路

  • 博客(236)
  • 资源 (1)
  • 收藏
  • 关注

转载 epoll基本原理及使用框架

转载自: https://www.cnblogs.com/panfeng412/articles/2229095.htmlepoll是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它不会复用文件描述符集合来传递结果而迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件...

2018-08-30 11:04:45 804

转载 linux c之信号signal处理机制

  转载自:https://blog.csdn.net/u011068702/article/details/54602566 Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制是具体如何实现的。signal机制可以被理解成进程的软中断,因此,在实时性方面还是相对比较高的。Linux中signal机制的模型可以采用下图进行描述。个进程都会采用...

2018-08-30 10:46:42 1898

转载 centos下网络配置方法(网关、dns、ip地址配置)

1、IP地址配置: /etc/sysconfig/network-scripts/ifcfg-eth0 2、网关配置:  /etc/sysconfig/network 3、DNS配置:  /etc/resolv.conf 1、网卡配置: 1 # vi /etc/sysconfig/network-script/ifcfg-eth0 2 DEVICE=eth0 ...

2018-08-09 14:19:00 1672

原创 git命令

git clone操作    将存储库克隆到新目录中。git init git clone .git地址之后重点来了,因为clone下来的一般为master分支,有可能不是想拉下来的分支。可以使用以下的方法git branch -a 先查看当前远端分支情况git  checkout origin/xxx  选择远端xxx分支git branch xxx  创建本地xxx...

2018-07-25 14:18:57 287

原创 VIM的使用

vim删除多列gg #到文件首G #到文件末ctrl+v #可视块模式999j,2l #注意是小写的J和L(方向键向下和向右也可以)d #删除二:不在冒号下输入:1)把光标移动到要复制的行上,按yy (复制当前行)2)把光标移动到要复制的位置 ,按p (粘贴到...

2018-07-25 09:50:13 231

原创 gdb的使用

我们要对程序进行调试,就必须在编译源文件时,使用-g参数,编译时使用的命令为【gcc -g test.c -o test】。编译完成后,启动GDB调试工具,命名为:gdb + 要调试程序的程序名。                                    GDB调试基本命令1. list/l 命令可以使用list/l命令查看程序,方便我们添加断点时查看信息。list...

2018-07-23 12:52:46 12070 1

原创 Makefile文件的编写

Makefile核心要点:1.会不会写makefile从侧面说明了一个人是否具备完成大型项目开发大型工程的能力2.makefile是用来编译链接文件的,实现了自动化编译3.与make指令搭配,一条make指令就完成了整个工程完全自动编译,极大的提高了软件开发的效率。一个 makefile 主要含有一系列的规则,如下:A: B(tab)<command>(tab)<...

2018-07-20 11:22:10 510

转载 make 、 make all 、 make clean 、 make install 区别

make,仅编译;make install,编译并安装(比如安装到/usr/bin目录下,然后可以直接使用。因为/usr/bin只有管理员才能向里面添加文件,所以通常要加sudo)  这个要看你的Makefile的,约定俗成的而已一般"潜规则"make就是make all,编译用的,具体编译了那些文件要看你的Makefilemake install就是把编译出来的二进制文...

2018-07-20 10:57:25 1034

转载 c语言位域

位域虽然简单好用,但使用时需要注意:1) 如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将紧邻前一个字段存储,直到不能容纳为止;2) 如果相邻位域字段的类型相同,但其位宽之和大于类型的sizeof大小,则后面的字段将从新的存储单元开始,其偏移量为其类型大小的整数倍;3) 整个结构体的总大小为最宽基本类型成员大小的整数倍。4) 如果相邻的位域字段的类型不...

2018-07-20 09:34:26 178

转载 【终端快捷键】Linux terminal 终端常用快捷键

Linux终端使用技巧今天才发现Linux下的终端有这么多好用的快捷键。Shift+Ctrl+T:新建标签页Shift+Ctrl+W:关闭标签页Ctrl+PageUp:前一标签页Ctrl+PageDown:后一标签页Shift+Ctrl+PageUp:标签页左移Shift+Ctrl+PageDown:标签页右移Alt+1:切换到标签页1Alt+2:切换到标签页2Alt+3:切...

2018-07-16 12:49:35 10918

原创 解压缩相关命令

tar命令最常用的几个操作如下所示:   压缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录。  查询:tar -jtv -f filename.tar.bz2  解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录zip命令的几个操作如下所示:*.zip 用 unzip 解压 。压缩:zip -q -r ...

2018-07-12 14:47:31 255

转载 Linux rpm 命令参数使用详解及强制安装和忽略依赖 与 学习rpmbuild总结

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。常用命令组合: -ivh:安装显示安装进度--install--verbose--hash...

2018-07-11 10:38:56 15990

原创 鸟哥的LInux私房菜读后感

Linux磁盘及文件系统  基本概念     FAT格式文件系统采用的是隐式顺序存储结构。     Ext2文件系统是一种基于索引式文件的文件系统,Linux的标准文件系统。     Ext3是增加了日志功能的Ext2升级版。     Linux VFS(虚拟文件系统):通过它的内核功能去读取文件系统,管理所有的文件系统。  文件的读取      Ext2的inode本身不记录文件名,文件名的记录...

2018-07-10 11:39:25 606

原创 鸟哥的linux私房菜--第三章主机规划与磁盘分区

分区表主分区+扩展分区最多4个。扩展分区最多一个。主引导分区(MBR)CMOS: 记录各项硬件参数且嵌入到主板上面的存储器。BIOS: 一个写入到主板上的一个韧体。(韧体是写入到硬件上的一个软件程序)它也是开机时候计算机系统会主动执行的第一个程序。BIOS会去分析计算机有哪些存储设备。MBR:位于第一个扇区里MBR位置,446bytes放置着最基本的引导加载程序(主要用于加载内核文件),加载完就是...

2018-07-05 14:24:40 343

转载 c语言指针类型转换为intptr_t,保存地址

从intptr_t定义可以看出,intptr_t在不同的平台是不一样的,始终与地址位数相同,因此用来存放地址,即地址。3、指针与intptr_t  C语言指针用来保存变量或常量的地址,地址由处理器的位数决定。在windows程序中,经常用到句柄,其实就是一个地址,具备通用性,对底层进行了封装。先对这个理解不深刻,什么时候需要将指针转换为intptr_t类型。...

2018-06-27 16:20:40 1453

转载 USB设备的VID与PID

一、VID和PID  PID/VID唯一标识一个设备,HardwareID是为了给系统识别的 ,他是根据PID/VID而生成的。这个与序列号没什么关系,序列号一般都是厂家固化到芯片中的信息而已。GUID只是为了标志你安装的设备是属于一个什么类当中,这个类可以显示再设备管理器中。比如:你可以定义一个类,当然这个类有与系统中任何类都不同的GUID,然后选择一个图标和类名,就可以同网卡等其他设备一起显示...

2018-06-25 22:08:57 28039

原创 android-TabHost标签控件的图片和文字不能同时显示解决方案

  我将标签所在的xml文件的主题改成"@android:style/Theme.Black",然后再获取每个tabwidget修改属性,代码如下:TabWidget tw = tabHost.getTabWidget(); for (int i = 0; i < tw.getChildCount(); i++) ...

2018-06-12 21:53:44 808

原创 AS报错:Installation failed with message Failed to establish session

我当时只有400多M的手机空间,我就清理手机空间,当有700多M后,就可以安装了。

2018-06-10 18:59:04 193

转载 观察者模式

转自:【java】Observer和Observable详解            观察者模式(从放弃到入门)1.必要性1.1 观察者模式是oo设计中经常用到的模式之一,大家在解决实际需求时,观察者模式往往都会用到,而javase中已经提供了Observer接口和Observable类让你简单快速的实现观察者模式,因此有必要去了解Observer和Observable;2.观察者模式概述2.1 角...

2018-05-17 19:45:30 254

原创 QT-mouseMoveEvent()不响应

  迷惑了我两天,最终莫名其妙得又可以响应了。。。  我做的是在主窗口下的QLabel的mouseMoveEvent()的响应。   解决方案一:    若实在响应不了,可采取在控件类中重写eventFilter(),专门去处理mouseMove事件,不去再用mouseMoveEvent。bool QEVFPictureBox::eventFilter(QObject *o, QEvent *e)...

2018-05-10 14:05:44 4661 2

转载 严书-广义表两种存储方式

广义表的存储结构由于广义表(a1,a2,a3,…an)中的数据元素可以具有不同的结构,(或是原子,或是广义表),因此,难以用顺序存储结构表示,通常采用链式存储结构,每个数据元素可用一个结点表示。    由于广义表中有两种数据元素,原子或广义表,因此,需要两种结构的结点:一种是表结点,用以表示列表;一种是原子结点,用以表示原子。    若列表不空,则可分解成表头和表尾;反之,一对确定的表头和表尾可唯...

2018-04-20 15:17:00 7966

转载 Qt中定时器使用的两种方法

Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类。         其精确度一般依赖于操作系统和硬件,但一般支持20ms。下面将分别介绍两种方法来使用定时器。方法一:QObject中的定时器的使用,需要用到三个函数1、   int QObject::startTimer ( int interval ) ;        这个是开启一个定时器的函...

2018-04-19 18:46:50 325

转载 Qt中图像的显示与基本操作

转自:http://www.cnblogs.com/Romi/archive/2012/03/14/2396533.html。Qt可显示基本的图像类型,利用QImage、QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放、旋转)。1. Qt可显示的图像类型参考Qt的帮助文档,可支持的类型,即可以直接读取并显示的格式有BMP、GIF、JPG、JPEG、PNG、TIFF、...

2018-04-16 15:00:30 576

转载 Qt核心机制与原理

★了解Qt和C++的关系 ★掌握Qt的信号/槽机制的原理和使用方法 ★了解Qt的元对象系统 ★掌握Qt的架构 ★理解Qt的事件模型,掌握其使用的时机信号与槽、元对象系统、事件模型是Qt机制的核心,如果您想要掌握Qt编程,就需要对它们有比较深入的了解。本章重点介绍了信号与槽的基本概念和用法、元对象系统、Qt的事件模型,以及它们在实际使用过程中应注意的一些问题。Qt对标

2018-04-14 14:50:27 632

转载 简述:QT5中关于信号与槽的基础知识

转自:https://www.jianshu.com/p/f9672d3335961.信号和槽什么叫做信号,顾名思义,就是某一个物体被干了什么,而发出的一种消息,比如说一个按钮被鼠标点击了,那他就会发出一个点击信号,告诉别人我被点击了。而槽是指在接受到信号之后,具体要去做什么,比如一个标签在某一个按钮被点击之后,接收到了点击信号,他就会显示一个笑脸等等。信号和槽是QT中最基本的概念,也是QT中最核...

2018-04-12 22:18:54 767

转载 #pragma once与 #ifndef的区别

转载自“百度百科”#pragma once   这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次   #pragma once用来防止某个头文件被多次include,#ifndef,#define,#endif用来防止某个宏被多次定义。   #pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已...

2018-04-12 11:27:11 153

转载 调试就提示:丢失Qt5Cored.dll Qt5Widgetd.dll

刚刚建立的一个project就运行不了,显示缺少动态库文件。。。去除试调》》环境。就可以了。这里也可以设置环境变量

2018-04-10 23:26:35 2488

原创 vs中c++添加lib库和头文件(外部依赖项)

在VS工程中,添加c/c++工程中外部头文件及库的基本步骤:    1. 添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。    2. 添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。    3. 然后添加工程引用的lib文件名:工程---属性---配置属...

2018-04-10 23:08:06 11041

转载 QT中QWidget、QDialog及QMainWindow的区别

 QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。     QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口部件(...

2018-04-09 19:19:19 449

原创 三种洗牌算法shuffle

1. 背景       笔试时,遇到一个算法题:差不多是 在n个不同的数中随机取出不重复的m个数。洗牌算法是将原来的数组进行打散,使原数组的某个数在打散后的数组中的每个位置上等概率的出现,刚好可以解决该问题。2. 洗牌算法       由抽牌、换牌和插牌衍生出三种洗牌算法,其中抽牌和换牌分别对应Fisher-Yates Shuffle和Knuth-Durstenfeld Shhuffle算法。  ...

2018-04-06 20:10:23 89476 10

转载 算法导论-----最长公共子序列LCS(动态规划)

目录一.概念梳理二.最长公共子序列解决方案 方案1:蛮力搜索策略方案2:动态规划策略三、C代码实现 实现1实现2(空间优化)一.概念梳理  1. 子序列(subsequence): 一个特定序列的子序列就是将给定序列中零个或多个元素去掉后得到的结果(不改变元素间相对次序)。例如序列<A,B,C,B,D,A,B><A,B,C,B,D,A,B>的子序列有:<A,B>...

2018-04-01 23:54:28 402

原创 c++ primer有感

一、const引用形参应该将不需要修改的实参的形参设置为const引用类型,这样的话,比较灵活,可以传递const和非const类型,且避免含有普通的非引用形参的函数复制元素。 二、指向指针的引用形参 (int* &a)可以改变指针的值。三、容器作参数C++ 程序员倾向于通过传递指向容器中需要处理的元素的迭代器来传递容器:void print(vector::con

2018-01-05 00:45:04 258

原创 头文件经常需要其他头文件--避免多重包含

在编写头文件之前,我们需要引入一些额外的预处理器设施。预处理器允许我们自定义变量。预处理器变量 的名字在程序中必须是唯一的。任何与预处理器变量相匹配的名字的使用都关联到该预处理器变量。为了避免名字冲突,预处理器变量经常用全大写字母表示。预处理器变量有两种状态:已定义或未定义。定义预处理器变量和检测其状态所用的预处理器指示不同。#define 指示接受一个名字并定义该名字为预

2017-12-29 11:21:56 435

原创 声明和定义--extern

声明与定义变量的 定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。声明用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过使用 extern 关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型和对象类型前的关键字 extern:extern int i; // declares b

2017-12-29 00:13:18 1681

原创 数字排序

问题描述  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式  输入的第一行包含一个整数n,表示给定数字的个数。  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式  输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输

2017-03-17 23:06:48 616

原创 CCF_ 201512-2_消除类游戏

问题描述  消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。  现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。  请注意:一个棋子可能在某一行和某

2017-03-17 13:08:50 414

转载 MFC 之进度条CProgressCtrl

一、成员函数简介 1、create()针对不是通过资源文件上拖拉进度条控件生成的进度条,需要用此函数创建一个。2、SetRange()设置进度条的起始值和终止值。3、SetPos()设置进度条的当前位置。4、OffSetPos()移动进度条一段距离5、SetStep()设置步长6、StepIt()按照步长来更新位置二、例子例1:在资源

2017-03-10 19:47:20 3481

原创 线程间通信常用的三种方法

线程间要进行通讯--或者说一个线程要获得另一个线程的某些数据. 多线程通信的方法主要有以下三种: 1.全局变量进程中的线程间内存共享,这是比较常用的通信方式和交互方式。注:定义全局变量时最好使用volatile来定义,以防编译器对此变量进行优化。2.Message消息机制常用的Message通信的接口主要有两个:PostMessage和P

2017-02-11 12:53:59 7615

转载 MFC中使用PreTranslateMessage执行两次的处理

在MFC中重载PreTranslateMessage时会出现执行两次的情况:BOOL CXXX::PreTranslateMessage(MSG* pMsg){if(WM_KEYFIRST message && pMsg->message {if(pMsg->wParam == VK_UP)//按了向上键{do something;

2017-02-10 21:53:00 937

转载 C/MFC如何获得应用程序当前路径(整理)

第一种方法:DWORD GetCurrentDirectory(  DWORD nBufferLength,  // size, in characters, of directory buffer  LPTSTR lpBuffer       // pointer to buffer for current directory);BOOL SetCurrentDirector

2017-02-10 18:43:54 441

MFC各种详解

各种感悟

2016-06-03

空空如也

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

TA关注的人

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