自定义博客皮肤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的博客

渣渣的成长之路

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

转载 pid_t的类型定义

创建进程时经常会用到进程号的类型定义:pid_t。我们都知道这个类型定义实际上就是int型。但是在linux下的c中的头文件中这个定义到底是怎么定义的呢?今天就把以前找这个定义的过程贴出来:1.首先在/usr/include/sys/types.h中有如下定义#include      ......    #ifndef __pid_t_definedtypedef

2016-09-30 20:26:45 365

转载 linux中fork()函数详解(原创!!实例讲解)

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新

2016-09-30 00:26:10 319

转载 QT笔记——在QMainWindow内直接添加Layout行不通

QT中setLayout无效的问题在QT开发过程中,有时候会遇到这样的问题,当我们自己创建了一个Layout对象以后,使用QWidget的setLayout方法,将这个Layout对象应用到窗口中的时候,发现窗口上没有我们添加的控件,比如,QMainWindow就是一个例子,还有QToolBar也是这样,还有其他的QT预定义的别的窗口类有时候也会遇到这样的情况。之所以出现这样的情况

2016-09-28 23:06:04 3383 1

转载 QT学习笔记----布局管理器的使用

转载请注明出处:奔跑的蜗牛(袁方的技术博客)http://blog.csdn.net/yf210yf/article/details/7383558(这里主要以垂直布局管理器进行讲解,其他类型管理器用法与之相同,其效果可自己验证。)1.在左边的器件栏里拖入三个PushButton和一个Vertical Layout(垂直布局管理器)到中心面板。如下图。2.将这三个按钮放

2016-09-28 22:48:38 251

转载 你看得懂的海明码校验和纠错原理

以下内容摘自笔者最新出版的著作《深入理解计算机网络》一书:http://item.jd.com/11165825.html     本书原始目录参见此文:http://blog.csdn.net/lycb_gz/article/details/8199839    5.3.6 海明纠错码     海明码(Hamming Code)是一个可以有多个校验位,具有检测并纠正一位错

2016-09-28 22:24:01 13291 3

原创 LeetCode: 240. Search a 2D Matrix II

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:Integers in each row are sorted in ascending from left to right.Integers in

2016-09-27 20:27:49 377

转载 Qt5--Qt模块简介

Qt 5 模块分为 Essentials Modules 和 Add-on Modules 两部分。前者是基础模块,在所有平台上都可用;后者是扩展模块,建立在基础模块的基础之上,在能够运行 Qt 的平台之上可以酌情引入。Qt 基础模块分为以下几个:Qt Core,提供核心的非 GUI 功能,所有模块都需要这个模块。这个模块的类包括了动画框架、定时器、各个

2016-09-26 14:10:56 1019

转载 qt中moc的作用

Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要事先将这些扩展的语法去除掉。完成这一操作的就是 moc。moc 全称是 Meta-Object Compiler,也就是“元对象编译器”。Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件。如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件。这个源文件中包含了 Q_OBJ

2016-09-26 12:06:21 813

转载 设计模式C++实现——观察者模式

Observer观察者模式作用:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。也就是: 观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。它还有两个别名,依赖(Dependents),发布-订阅(Publish-Subsr

2016-09-26 11:04:42 240

转载 C++0x/11 函数指针、function、bind以及lamda表达式总结

本文是C++0x系列篇,主要是内容是C++0x中新增的lambda表达式, function对象和bind机制。之所以把这三块放在一起讲,是因为这三块之间有着非常密切的关系,通过对比学习,加深对这部分内容的理解。在开始之间,首先要讲一个概念,closure(闭包),这个概念是理解lambda的基础。下面我们来看看wikipedia上对于计算机领域的closure的定义:A

2016-09-25 21:33:29 1212

转载 C++11中万能的可调用类型声明std::function<...>

在C++11中,callable object 包括传统C函数,C++成员函数,函数对象(实现了()运算符的类的实例),lambda表达式(特殊函数对象)共4种。程序设计,特别是程序库设计时,经常需要涉及到回调,如果针对每种不同的callable object单独进行声明类型,代码将会非常散乱,也不灵活。如下示例:#include #include using namespace std;

2016-09-25 15:10:53 465

原创 C++11 lambda 表达式解析

C++11 新增了很多特性,lambda 表达式是其中之一,如果你想了解的 C++11 完整特性,建议去这里,这里,这里,还有这里看看。这里将介绍 C++11 的 lambda 表达式。很多语言都提供了 lambda 表达式,如 Python,Java 8。lambda 表达式可以方便地构造匿名函数,如果你的代码里面存在大量的小函数,而这些函数一般只被调用一次,那么不妨将他们重构成 l

2016-09-25 14:47:18 274

转载 C++之shared_ptr总结

Share_ptr也是一种智能指针。类比于auto_ptr学习。所以推荐先学习auto_ptr,再来学习shared_ptr。本博客的前两个就是auto_ptr的总结。希望感兴趣的朋友可以看看。 Shared_ptr和auto_ptr最大的区别就是,shared_ptr解决了指针间共享对象所有权的问题,也就是auto_ptr中的赋值的奇怪问题。所以满足了容器的要求,可以用于容器中。

2016-09-25 13:31:43 451

转载 C/C++中volatile关键字详解

1. 为什么用volatile?    C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明:A volatile specifier is a hint to a compiler th

2016-09-24 01:39:12 328

转载 什么是C++虚函数、虚函数的作用和使用方法

我们知道,在同一类中是不能定义两个名字相同、参数个数和类型都相同的函数的,否则就是“重复定义”。但是在类的继承层次结构中,在不同的层次中可以出现名字相同、参数个数和类型都相同而功能不同的函数。例如在例12.1(具体代码请查看:C++多态性的一个典型例子)程序中,在Circle类中定义了 area函数,在Circle类的派生类Cylinder中也定义了一个area函数。这两个函数不仅名字相同,而

2016-09-24 01:14:54 202

原创 LeetCode: 133. Clone Graph

Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors.OJ's undirected graph serialization:Nodes are labeled uniquely.We use # as a separator for each

2016-09-22 17:29:01 285

转载 【C++11】nullptr关键字

从1972年C语言刚刚诞生以来,常数0就扮演着整数(int)0和空指针( null pointer )两种角色。为了避免理解上的二义性,C语言通常使用NULL宏来表示空指针,NULL宏通常被定义为(void *)0或0, 而C++仅仅采用0来表示空指针,这样存在一个问题:比如对于重载函数 fun(char *) 和 fun(int) 的调用来说,若直接用NULL作为参数调用fun(NULL),我们

2016-09-22 11:37:49 1008

转载 信号量与PV操作

在计算机操作系统中,PV操作是进程管理中的难点。首先应弄清PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下:    P(S):①将信号量S的值减1,即S=S-1;           ②如果S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。    V(S):①将信号量S的值加1,即S=S+1;      

2016-09-21 21:39:08 1966

转载 Linux新手入门:Unable to locate package错误解决办法

最近刚开始接触Linux,在虚拟机中装了个Ubuntu,当前的版本是Ubuntu 11.10,装好后自然少不了安装一些软件,在设置了软件的源后,就开始了 sudo apt-get install,结果出现了下面的Unable to locate package错误(当然你得有网). 这叫一个郁闷啊,出师不利,不带这么吓唬刚玩Ubuntu的小朋友吧~于是赶紧找资料,又回顾下前面的操作

2016-09-21 20:09:03 2213

转载 Unity人工智能确定性AI算法之随机运动

所谓确定性算法是一些预先确定或者预先编程的操作,比如《星球大战》游戏中的小行星的AI都是非常简单的,都是以随机速率将其沿着随机的方向发射出去,这是一种最简单的智能,不过它们的智能都是相当确定和可预知的。而确定性AI算法里面,随机运动又是最简单的,如图,我设置了移动随机和停留随机时间,这样看上去才更加真实。贴上代码using UnityEngine;using Sy

2016-09-20 19:54:31 1514

原创 207. Course Schedule

There are a total of n courses you have to take, labeled from 0 to n - 1.Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as

2016-09-19 21:19:37 215

转载 数据结构之图(存储结构、遍历)

一、图的存储结构1.1 邻接矩阵    图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。    设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为:        看一个实例,下图左就是一个无向图。        从上面可以看出,无向图的边数组是一

2016-09-19 20:36:52 1223

转载 关于安装QT VS2013中我遇到的各种问题

网上有很多了,我查了一天才完成的,其中很多是因为不仔细而浪费时间 ~。~1,首先保证你下载的QT和你的VS版本要一致!!!比如VS2013对应的就是Qt 5.6.0 for Windows 64-bit (VS 2013, 836 MB) 和Visual Studio Add-in 1.2.5 for Qt5 (202 MB)2,你会发现有很多红色的波浪线解决方

2016-09-19 20:07:05 861

原创 106. Construct Binary Tree from Inorder and Postorder Traversal

Given inorder and postorder traversal of a tree, construct the binary tree./** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *righ

2016-09-18 13:03:50 312

转载 拔掉网线时Socket的检查方法

拔掉网线时Socket的检查方法http://blog.csdn.net/fan_hai_ping/article/details/6699650最近在做有关于TCP采集程序时,发现在客户端与服务器通过TCP socket进行通信的时候,如果客户端应用程序正常或者异常退出时,服务器都可以在对应的socket通信连接上获得响应(如返回0,或者抛出异常)。但是,如果在客户端的网线被拔掉

2016-09-17 19:54:18 7960

转载 linux下错误的捕获:errno和strerror的使用

经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。    在程序代码中包含 #include ,然后每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量

2016-09-17 10:45:08 674

原创 MFC自定义消息

在头文件stdafx.h中增加一个自定义消息宏                                #define WM_USER_THREADEND WM_USER + 1               2.  在于增加新消息的窗口或对话框类的头文件中增加一个回调函数声明,注意要声明为public                              afx_msg

2016-09-13 18:52:33 334

原创 c/c++值传递和引用传递

今天看数据结构的时候,因为是c语言版的,刚开始学的时候就对指针搞的焦头烂额,今天,发现参数传递的时候,&符号也莫名其妙,搜了一篇好文,转载下来。一、 函数参数传递机制的基本理论  函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数

2016-09-13 15:18:24 1074

原创 LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal

Given preorder and inorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree. /** * Definition for a binary tree node. * struct Tr

2016-09-12 11:59:10 457

原创 Unity3D深入浅出 - 物理材质(Physics Materials)

在Unity3d 4.6中已经配置好了5种常用的物理材质,Bouncy、Ice、Metal、Rubber、Wood,在菜单中依次选择Assets - Import Package - Physics Materials 即可导入,下面以Ice(冰)材质为例介绍其物理参数。Daynamic Friction:动摩擦力,取值范围为0-1,取值为0将导致物体表面接近冰面的特性,取

2016-09-11 22:29:37 8826

转载 Dev-C++的一些使用技巧

最近开始用Dev-C++在Window下编程,感觉Dec-C++是一款挺不错的C++编译器。下载地址http://www.duote.com/soft/9830.html 。现总结一些使用技巧:1. 几个快捷键:        在工具->快捷键设置 中可以设置自己习惯使用的快捷键,下面给出几种常用的快捷键,均为系统默认的。       【Ctrl+N】新建源代码;【Ctrl

2016-09-11 10:22:25 12919 2

转载 C#--ArrayList用法

System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。一.优点1。支持自动改变大小的功能2。可以灵活的插入元素3。可以灵活的删除元素二.局限性跟一般的数组比起来,速度上差些三.添加元素1.publicvirtualintAdd(objectvalue);将对象添加到A

2016-09-11 01:52:34 337

转载 unity如何调用另一个脚本中的变量

调用其他实例的脚本是一种很常用的需求,在Unity3D中实现起来也有多种方法,假设在ScriptB有一个DoSomething函数,如下所示:using UnityEngine;public class ScriptB : MonoBehaviour {public void DoSomething() {Debug.Log("Hi there");}

2016-09-10 14:06:21 12012

原创 CRichEditView改变字体的颜色和字体

CEdit控件不支持部分文字修改字体和颜色,而CRichEditCtrl可以支持。       CRichEditCtrl &edit = GetRichEditCtrl();CHARFORMAT cf;memset(&cf, 0, sizeof(CHARFORMAT));edit.GetSelectionCharFormat(cf);cf.cbSize = sizeof(cf

2016-09-10 11:52:08 3895

转载 如何解决 error LNK2001: unresolved external symbol ___glutInitWithExit@12

opengl 的一个link的问题,本来整个工程很正常的,一段时间后再次打开,可能是我动了某些库文件和工程配置,报出如下错误。1>Linking...1>Main.obj : error LNK2001: unresolved external symbol ___glutInitWithExit@121>Main.obj : error LNK2001: unreso

2016-09-09 23:11:49 4986

原创 error MSB6006: “rc.exe”已退出,代码为 5

我的环境:win10 x64 + VS2013昨天在编译一个工程时,出现如下错误:1>  所有输出均为最新。1>ResourceCompile:1>  TRACKER : 错误 TRK0005: 未能找到:“rc.exe”。系统找不到指定的文件。1>  1>  1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0

2016-09-09 18:35:00 7005 2

原创 [Unity3D]Unity3D游戏开发之鼠标滚轮实现放大缩小

今天为大家分享的是在Rpg游戏中十分常见的鼠标滚轮调整摄像机视野效果using UnityEngine;using System.Collections;public class CameraZoom : MonoBehaviour { // Use this for initialization void Start () { Camera.main.orthog

2016-09-08 11:01:01 1229

原创 用CMutex类实现程序互斥运行

在软件的开发过程中,有时需要控制一个程序不能同时有多个实例运行,也就是多个进程间互斥运行。我们在Visual C++ 6.0中利用CMutex类实现了多个进程间互斥运行。在Visual C++ 6.0中我们用默认方式生成基于对话框的名为“test”的应用程序,在test.cpp文件开头加上以下一行代码#include

2016-09-06 19:36:37 1220

原创 Socket error 10060

Socket error 10060 - Connection timed out   //超时错误原因可能是:要访问的网站有问题,关机了或者服务未启动等等;到网站的网络有问题,连接不上;防火墙阻挡了连接。 解决方法:先两台机子先互ping一下,看是否通,不通的话,我就重启了,呵呵!我这是一方将服务关掉了,有一台机子只能发

2016-09-06 14:36:52 22562 2

转载 Unicode字符集和多字节字符集关系

首先DBCS是亚洲的字符集,包含了ANSI,ANSI也就是ASCII值为0-255之间的字符,当字符为ANSI时,存放于文件中占用的是一个字节。如果是非ANSI的呢,则占用两字节。用VB的ASC函数可以很容易得到一个字符的DBCS值(或是说ANSI值吧)假如一个字符得到的DBCS值为&H1234,当然,这个值是转换成了十六进制的,因为对于磁盘存放来说,一般使用位(BIT),即二进制存放,而

2016-09-04 13:54:05 807

MFC各种详解

各种感悟

2016-06-03

空空如也

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

TA关注的人

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