自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

System Architect

Struggling

  • 博客(315)
  • 资源 (3)
  • 收藏
  • 关注

转载 QVariant类的使用注意事项

QVariant类作为一个最为普遍的Qt数据类型的联合,联合体当中的变量共用一个存储区,一个QVariant对象在一个时间内只保留一种类型的值。

2015-11-27 14:33:04 2638

转载 Qt中SQLite3的增、删、改、查操作

QT对数据库具有完善的支持,不需要加任何其他插件就可以直接使用,但是如果你要是加了sqlite3插件,调用数据库就跟直接调用一个驱动一样,直接调用接口函数:open、close、……,换言之QT自带的数据库语言就用不上了。

2015-11-25 10:13:15 25269

转载 Qt之右键菜单实现

最近在看C++ GUI  Qt4部分其中有个例子对于扩展一个应用程序提供一个上下文菜单,其中该程序只是定义一个变量来实现其中用到了一个函数(下文会给予解答)。但是更高级的是重新定义事件处理函数void contextMenuEvent(QContextMenuEvent *event)。下面讲解其contextMenuEvent(QContextMenuEvent *event)。

2015-11-20 10:50:25 7826

转载 为何Windows下的动态库总伴随一个静态库?

为何Windows下的动态库总伴随一个静态库?今天同学来问了一个问题:Visual Studio中生成的动态库总是伴随着一个静态库文件,我把这两个文件同样进行重命名之后还能不能使用?我对VS下的动态库的生成并不是很熟悉,表示无法回答这个问题。但这个问题本身却也让我产生了疑问:动态库真的需要总是伴随着一个静态库?根据我在Linux下的经验,这两种形式的代码库是没有什么依赖

2015-08-14 16:25:49 2508 1

转载 C++用new和不用new创建类对象的区别

起初刚学C++时,很不习惯用new,后来看老外的程序,发现几乎都是使用new,想一想区别也不是太大,但是在大一点的项目设计中,有时候不使用new的确会带来很多问题。当然这都是跟new的用法有关的。new创建类对象,使用完后需使用delete删除,跟申请内存类似。所以,new有时候又不太适合,比如在频繁调用场合,使用局部new类对象就不是个好选择,使用全局类对象或一个经过初始化的全局类指针似乎更加高

2015-06-24 15:57:04 7358

转载 C++变量的声明和定义

我们已经知道,一个函数一般由两部分组成:声明部分和执行语句。声明部分的作用是对有关的标识符(如变量、函数、结构体、共用体等)的属性进行说明。对于函数,声明和定义的区别是明显的,前边已说明,函数的声明是函数的原型,而函数的定义是函数功能的确立。对函数的声明是可以放在声明部分中的,而函数的定义显然不在函数的声明部分范围内,它是一个文件中的独立模块。对变量而言,声明与定义的关系稍微复杂一

2015-06-24 11:01:52 1255

转载 消息队列和管道的区别以及和共享内存相比效率低的原因

管道和消息队列的区别管道(PIPE)管道通信方式的中间介质是文件,通常称这种文件为管道文件。两个进程利用管道文件进行通信时,一个进程为写进程,另一个进程为读进程。写进程通过写端(发送端)往管道文件中写入信息;读进程通过读端(接收端)从管道文件中读取信息。两个进程协调不断地进行写、读,便会构成双方通过管道传递信息的流水线。管道分为匿名管

2015-06-18 17:05:50 11293

转载 架构设计中影响性能的因素及解决方案

性能(performance)设计非常重要,对于服务器端实时交易系统来说系统性能的重要性不言而喻,对客户端软件来说性能好的软件也会获得良好的用户体验,从而给用户留下高质量软件的良好印象。因此在进行架构设计中性能设计非常重要。      但架构设计实际是一个平衡设计,在可用性、可扩展性、可维护性、可靠性、高性能等之间做个妥协选择。这些非功能性的需求再加上复杂的功能性需求,同时还要考虑到项目管理上

2015-06-15 09:54:16 4171

转载 一致性哈希算法原理及其在分布式系统中的应用

本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。分布式缓存问题假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直接读写数

2015-06-09 08:47:17 6289 2

转载 一致性hash算法详解

一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。     一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1

2015-06-08 22:32:43 1011

转载 在linux中使用内存映射(mmap)操作文件的方法

在使用内存映射操作文件之前,我们先按照常规的方式来读写文件,这种方式操作如下:1,打开或创建文件,得到文件描述符,2,将内存中的数据以一定的格式和顺序写入文件,或者将文件中的数据以一定的格式和顺序读入到内存;3,关闭文件描述符;下边是按照常规方式操作固定格式的文件的方法,包含读写两个示例;[cpp] view plaincopy

2015-06-04 15:22:26 2416 1

转载 详解coredump

详解coredump一,什么是coredump        我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。        通常情况下,core文件会包含了程序运行时的内存,寄存器状

2015-05-12 15:45:41 1139

转载 使用Dump文件让程序在崩溃时体面的退出

在我的那篇《让程序在崩溃时体面的退出之CallStack》中提供了一个在程序崩溃时得到CallStack的方法。可是要想得到CallStack,必须有pdb文件的支持。但是一般情况下,发布出去的程序都是Release版本的,都不会附带pdb文件。那么我们怎么能在程序崩溃的时候找到出错的具体位置呢?这个时候就该Dump文件出场了!Dump文件是进程的内存镜像,可以把程序运行时的状态完整的保存下来。 

2015-05-12 15:43:07 944

转载 SAN与NAS

SAN : STORAGE AREA NETWORK    存储区域网络NAS : NETWORK ATTACHED STORAGE  网络附加存储 NAS不一定是盘阵,一台普通的主机就可以做出NAS,只要它自己有磁盘和文件系统,而且对外提供访问其文件系统的接口(如NFS,CIFS等),它就是一台NAS。常用的windows文件共享服务器就是利用CIFS作为调用接口协议的NAS设备。一

2015-05-07 16:46:16 1125

转载 Qt中的信号与槽机制解析

注:要想使用Qt的核心机制信号与槽,就必须在类的私有数据区声明Q_OBJECT宏,然后会有moc编译器负责读取这个宏进行代码转化,从而使Qt这个特有的机制得到使用。所谓信号槽,简单来说,就像是插销一样:一个插头和一个插座。当某种事件发生之后,比如,点击一下鼠标,或者按下某个按键,此时,这个组件就回发出一个信号。如果有一个槽,正好对应上这个信号,那么,这个槽函数就回被调用。槽函数和普

2015-05-04 17:44:02 12281

原创 VC环境下(非QT环境)使用Qt的配置方法

最近在已经发布的dll工程中发现了一个bug,最后决定使用Qt的signal-slot机制去改善。但是原始dll工程并非Qt工程,只是一个MFC工程,直接使用Qt函数是会报错的。经过我的摸索,最终成功移植,使其兼容Qt的函数库。步骤如下:      1.在目标工程下,依次选择“项目--》**属性--》配置属性--》C/C++--》常规--》附加包含目录”中添加Qt的重要目录,如下图所示

2015-05-04 17:14:00 3150

转载 error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall Widget::metaObject

编写一个简单的给予QT的DEMO程序步骤大致如下:下面开始编程:A 编写 main.cppB 编写 hello.hC 编写 hello.cppD 制作.ui文件,并生成ui_hello.h    打开designer,拖入一个pushButton,一个label。保存为hello.ui。然后生成ui_hello.h,并添加到项目的源文件中。  编译运

2015-05-04 16:00:45 6989

转载 vs2010中自动生成Qt的moc文件的方法

Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件。如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件。这个源文件中包含了 Q_OBJECT 宏的实现代码。这个新的文件名字将会是原文件名前面加上 moc_ 构成。这个新的文件同样将进入编译系统,最终被链接到二进制代码中去。因此我们可以知道,这个新的文件不是“替换”掉旧的文件,而是与原文件

2015-05-04 15:58:59 4156

转载 typedef struct 用法详解和用法小结 及 在C和C++中的区别

1 : 在C和C++中struct和typedef struct的区别在C和C++有三种定义结构的方法。typedef struct {int data;int text;} S1;//这种方法可以在c或者c++中定义一个S1结构struct S2 {int data;int text;};// 这种定义方

2015-04-29 15:29:02 18490 2

转载 VS中使用“附加到进程”进行调试的方法

有些时候碰到自己开发的程序嵌入到别人的框架中,而在接口的地方出了问题,而又不方便将自己的模快加入到别人的工程中【有很多相关的文件,还有mster页面等】,这个时候VS的附加到进程调试变得不可或缺了,过多介绍的东西就不多说了,直奔主题1、拷贝project1的dll及相关的xap及页面文件到对应的project2工程中,不必加入到工程中。2、启动Project2工程【Ctrl+F5】

2015-04-21 16:35:16 9492

转载 不使用路由器来实现不同网段(子网)计算机之间通信的方法

文章针对有IP网络基础知识,对osi和以太网有基本了解的人群!首先介绍一下,网关的作用,因为实现中要借助网关。    路由器是三层的设备,主要协议为IP。三层设备主要负责寻址,通过查看自已通过各种动态路由协议或静态指定的路由表,来确定数据包的传送方向,路由器就像是站在十字路口的一个交警,如果有司机(数据包)不知道目的地就问这个交警,这个交警从大脑的数据库中检索到,这个司机要去的目的地,

2015-04-17 16:03:55 20617 2

转载 通过设置静态路由来实现不同网段可以互相访问的方法

随着宽带接入的普及,很多家庭和小企业都组建了局域网来共享宽带接入。而且随着局域网规模的扩大,很多地方都涉及到2台或以上路由器的应用。当一个局域网内存在2台以上的路由器时,由于其下主机互访的需求,往往需要设置路由。由于网络规模较小且不经常变动,所以静态路由是最合适的选择。可是如果是多网段,又想实现不同网段电脑互访,设置静态路由就要掌握方法了。    本文作为一篇初级入门类文章,会以几个简单实

2015-04-15 10:13:32 37086 3

转载 相同网络与不同网络间的通讯解释!

转帖:相同网络与不同网络间的通讯解释!关于《检查你是否高手》帖子中讲述到的网络间通讯问题我再详细解释一下,希望帮到各位!主机间的通讯分为,相同网段间的通讯和不同网段间的通讯。如何识别?首先有A和B两台主机。A主机:192.168.1.1 255.0.0.0 B主机:192.168.2.1 255.255.0.0 。相同网段间通讯指:1、本机IP地址与本机子网掩码进行与运算,得出

2015-04-15 10:10:49 2323

转载 socket通信中select函数的使用和详解

最近在写一个网络通信函数,参考别人的代码时对select()函数的使用存有疑惑,不太确定具体的使用方法,何时使用,以及其作用。在网上搜到一篇文章,觉得介绍的不错,收藏学习。先自我总结一下。   select函数的作用:   select()在SOCKET编程中还是比较重要的,可是对于初学SOCKET的人来说都不太爱用select()写程序,他们只是习惯写诸如 conncet

2015-04-02 16:09:09 9349

转载 网络传输中MAC地址表、ARP表和路由表详解

一:MAC地址表详解说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的。在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据这张表负责将数据帧传输到指定的主机上的。交换机的工作原理交换机在接收到数据帧以后,首先、会记录数据帧中的源MAC地址和对应的接口到MAC表中,接着、会检查自己的MAC表中是否有数

2015-03-13 10:23:42 16476 4

转载 UML建模中的时序图详解

UML建模之时序图(Sequence Diagram)    一、时序图简介(Brief introduction)       二、时序图元素(Sequence Diagram Elements)角色(Actor)对象(Object)生命线(Lifeline)控制焦点(Focus of Control)消息(Message)自关联消息(Self-Messa

2015-03-09 11:05:44 13072

转载 进程间通信的几种方式:管道、信号、消息队列、共享内存

一、管道单向,一段输入,另一端输出,先进先出FIFO。管道也是文件。管道大小4096字节。特点:管道满时,写阻塞;空时,读阻塞。分类:普通管道(仅父子进程间通信)位于内存;命名管道位于文件系统,没有亲缘关系管道只要知道管道名也可以通讯。管道是由内核管理的一个缓冲区(buffer),相当于我们放入内存中的一个纸条。管道的一端连接一个进程的输出。这个进程会向管道中放

2015-03-06 14:50:58 3807

转载 MySQL中数据类型介绍

一、MySQL的数据类型主要包括以下五大类:整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT浮点数类型:FLOAT、DOUBLE、DECIMAL字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BL

2015-02-10 10:55:34 21771 3

转载 深入理解MySQL中的复制功能--数据库同步

理解MySQL——复制(Replication)1、复制概述1.1、复制解决的问题数据复制技术有以下一些特点:(1)    数据分布(2)    负载平衡(load balancing)(3)    备份(4)    高可用性(high availability)和容错1.2、复制如何工作从高层来看,复制分成三步:(1)    maste

2015-02-10 10:46:47 6268

转载 数据库中的一些基本操作

添加:向数据库中添加值语法:INSERT [INTO] table_name [(COLUMN1,COLUMN2,.....)] VALUES (VALUE1,VALUE2,.....)注意:1、VALUES需要与COLUMN对应2、添加数据时,如果字段类型为varchar或datetime,否则必须使用单引号('')引起来。3、虽然没有显示地添加IDENTIRY约束字段,

2015-02-09 16:31:34 2104

转载 MySQL数据库表结构设计优化技巧总结

很多人都将 数据库设计范式 作为数据库表结构设计“圣经”,认为只要按照这个范式需求设计,就能让设计出来的表结构足够优化,既能保证性能优异同时还能满足扩展性要求。殊不知,在N年前被奉为“圣经”的数据库设计3范式早就已经不完全适用了。这里我整理了一些比较常见的数据库表结构设计方面的优化技巧,希望对大家有用。  由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO 的时候是以

2015-02-09 15:51:05 5488

转载 数据库中的完整性约束及实例

1 定义     数据完整性用于保证数据库中数据的正确性、一致性和可靠性。 2    类型 • 实体完整性(Entity Integrity) • 域完整性(Domain Integrity) • 参照完整性(Referential Integrity) • 用户定义完整性(User-defined Integrity)  图示 实体完整性(Entity In

2015-02-09 15:36:41 27136 1

转载 C++之单目运算符重载

单目运算符只有一个操作数,如!a,-b,&c,*p,还有最常用的++i和--i等。重载单目运算符的方法与重载双目运算符的方法是类似的。但由于单目运算符只有一个操作数,因此运算符重载函数只有一个参数,如果运算符重载函数作为成员函数,则还可省略此参数。下面以自增运算符”++“为例,介绍单目运算符的重载。[例10.5] 有一个Time类,包含数据成员minute(分)和sec(秒),模拟

2015-02-06 09:20:23 1898

转载 函数返回值为引用、非引用及引用左值的情况

返回非引用      string make_plural(size_t i,const string &word,const string &ending)      {             return (i==1)?word:word+ending;      }      以上函数,当i等于1时,函数返回word形参的副本;当i不等于1时函数返回一个临时的s

2015-02-03 20:02:48 2381

转载 C++中const成员函数和非const成员函数的重载

函数重载函数重载的定义是:在相同的作用域中,如果函数具有相同名字而仅仅是形参表不同,此时成为函数重载。注意函数重载不能基于不同的返回值类型进行重载。注意函数重载中的“形参表”不同,是指本质不同,不要被一些表象迷惑。main函数不能被重载。下面三组定义本质是相同的,不是重载:1)int sum (int &a); 和 int sum (int &);2)  int sum (in

2015-02-02 14:30:18 5160

转载 Linux环境下安装Nginx+Pcre+zlib+OpenSSL

Nginx是一款非常优秀的Web服务器,它是由俄罗斯人Igor Sysoev(伊戈尔-塞索耶夫)写的,虽然它的应用还没有老牌Web服务器Apache广泛,但相比Apache,它有着自己的一些优势,比如很好的高并发访问支持内存却占用少,配置简单,稳定性高,支持热部署等等。Nginx 已经在俄罗斯的最大的门户网站Rambler Media上运行了好几年的时间,在国内也有很多一些知名网站也采用N

2014-12-27 16:27:26 14246

转载 一起来学LANMP:linux搭建LANMP(编译版)

/** Author: GP* Emeil: [email protected]* Website: http://www.gplinux.com*//*注:nginx和apache的配置只是简单配置,如果要做到nginx处理前端apache处理后台脚本,还需更深入配置*/刚安装好linux,现在开始编译安装LANMP在这里写下编译安装

2014-12-27 15:39:07 1527

转载 图论中的最小生成树算法

所谓最小生成树,就是在一个具有N个顶点的带权连通图G中,如果存在某个子图G',其包含了图G中的所有顶点和一部分边,且不形成回路,并且子图G'的各边权值之和最小,则称G'为图G的最小生成树。      由定义我们可得知最小生成树的三个性质:      • 最小生成树不能有回路。      • 最小生成树可能是一个,也可能是多个。      • 最小生成树边的个数等于顶点的个数减一。

2014-12-19 09:12:03 1691

转载 清空链表跟销毁链表的区别

链表本身是一个数据结构。销毁:是先销毁了链表的头,然后接着一个一个的把后面的销毁了,这样这个链表就不能再使用了,即把包括头的所有节点全部释放。清空:是先保留了链表的头,然后把头后面的所有的都销毁,最后把头里指向下一个的指针设为空,这样就相当与清空了,但这个链表还在,还可以继续使用;即保留了头,后面的全部释放。清空是链表的头还在,可以继续插入节点;销毁就是链表没了,整个链表(包括头)的空

2014-12-04 11:18:03 24736 5

转载 数据库中schema的含义

看来有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。我们先来看一下他们的定义:A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the d

2014-12-03 16:59:25 3477

网络安全基础:应用与标准(第4版)

从第一章到第11章,还有附录A,B。非常全,主要介绍了网络安全的应用和标准

2013-08-04

简单的计费管理系统

此系统是用java及相关的技术开发的一个简单的计费管理系统,体现了一个最基本的计费管理系统框架,实现了一个计费管理的流程。

2011-12-29

基于AT89C2051单片机的电风扇

本文介绍一个采用AT89C2051单片机芯片(以下均简称其为“单片机”)制作的“电风扇定时开关电路”,该电路既可按照系统默认的定时时间参数自动运行,也可由使用者随时通过按键输入设置新的定时时间参数;在整个定时时间内,既可选择使用“连续风”状态,也可选择使用“阵风”状态。具有电路简单、制作容易、设置方便、使用灵活等优点。该电路的控制软件及硬件电路均已实际调试运行通过,非常适合在业余条件下制作、安装和使用,也可由电风扇专业生产厂将其作为自动控制电路,在新型电风扇产品中安装。通过该电路,您可以进一步了解到“单片机”电路的应用扩展功能和指令应用技巧

2010-05-04

空空如也

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

TA关注的人

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