10 bzhxuexi

尚未进行身份认证

我要认证

一名在路上的程序员

等级
TA的排名 2k+

QVariant类的使用注意事项

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

2015-11-27 14:33:04

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

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

2015-11-25 10:13:15

Qt之右键菜单实现

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

2015-11-20 10:50:25

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

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

2015-08-14 16:25:49

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

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

2015-06-24 15:57:04

C++变量的声明和定义

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

2015-06-24 11:01:52

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

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

2015-06-18 17:05:50

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

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

2015-06-15 09:54:16

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

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

2015-06-09 08:47:17

一致性hash算法详解

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

2015-06-08 22:32:43

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

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

2015-06-04 15:22:26

详解coredump

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

2015-05-12 15:45:41

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

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

2015-05-12 15:43:07

SAN与NAS

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

2015-05-07 16:46:16

Qt中的信号与槽机制解析

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

2015-05-04 17:44:02

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

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

2015-05-04 17:14:00

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

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

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

2015-05-04 15:58:59

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

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

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

2015-04-21 16:35:16

查看更多

勋章 我的勋章
    暂无奖章