自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(32)
  • 资源 (4)
  • 收藏
  • 关注

原创 Socket Engine

 Socket EngineUsing English to describe my idea is so hard for me, but I should take the bull by horns. I know that English will be accompanied by my life. So I must work hard to make it better. A

2009-11-16 23:23:00 1128 1

原创 Realization of QTcpServer

 Realization of QTcpServerToday, I want to know about the QtNetwork Module. What will be the beginning of this module? Let’s try it from the TCP protocol. I think the QTcpServer will be OK. So, he

2009-11-15 23:10:00 1097

原创 The Structure of QThreadPoolPrivate

 The Structure of QThreadPoolPrivate       Yesterday, we make an assay of QThreadPoolPrivate. But when we came to know the mechanism of enqueueTask () function, it has no way to know the underlyin

2009-11-14 07:27:00 920

原创 QThreadPool Class

 QThreadPool ClassToday, we decide to use the thread pool to build our application. So I need to know the mechanism of qt thread pool class.To see the document, I get to know the qt thread pool

2009-11-12 23:50:00 1984

原创 Analyze Of QByteArray

 Analyze Of QByteArrayAfter two days’ programming, I find some problem. With the code became larger and larger, I am getting slower and slower program. So I have to find the reason.In my program

2009-11-10 23:47:00 1090

原创 Continue To Analyze the State Machine Framework

 Continue To Analyze the State Machine FrameworkToday is the first day to code our application. We works will, so I have some time to do this analyze. It’s tired for me to work 14 hours, so I can

2009-11-10 23:46:00 904

原创 Detail Analyze On State Machine Framework

 Detail Analyze On State Machine FrameworkIt’s November 6, I must work hard for my Qt Application for four days. November 10 is the limit time of our work. But I will not stop analyzing the Qt Sou

2009-11-10 23:45:00 982

原创 4.6最新加入QStateMachine

 4.6最新加入QStateMachine今天在使用该类的时候,出现了一些从来没遇到过的问题,程序在执行a.exec()方法时挂掉了,觉得应该和该类的实现机制有关,所以决定首先对该类探个究竟。QStateMachine类在corelib/statemachine中,继承自QState类,通过跟踪发现,最早的类是对QState类的一个抽象接口——QAbstractState类。整个QSt

2009-11-10 23:41:00 2925

原创 QApplication类分析

 QApplication类分析又一次来到Qt源代码的世界,最近太忙了,需要休息一下,明天给自己放个假,呵呵。好了,进入今天的源代码分析。QApplication类是目前遇到的最复杂的一个类,前向声明中有这些内容:class QSessionManager;class QDesktopWidget;class QStyle;class QEventLoop;clas

2009-11-04 23:24:00 1775

原创 QtGui初探

 QtGui初探放假的一天,但是源码的分析不能间断,继续做分析。在完成了之前几天的分析之后,对于Qt最基本的两条语句有了初步的了解,接下来的事情就是看一个应该程序窗口是如何建立起来的了。通常情况下,我们都会在创建应用程序时选择QMainWindow方式,而这个类继承自QWidget,其他所有的GUI相关的类也都继承自该类。所以,今天从QWidget开始。最基本的两行代码是:Wi

2009-11-04 23:24:00 1710

原创 QCoreApplication类exec()方法分析

 QCoreApplication类exec()方法分析忙到现在才有时间做一些简单的代码分析,过不了多久就要睡觉了,又是忙碌的一天,每天如此,好像轻闲下来,但是真正闲下来的时候,又会去想着忙点多好。人就是这样,总是很难满足于现状。今天,先对exec()函数的后半部分进行分析:QEventLoop eventLoop;    self->d_func()->in_exec = t

2009-11-04 23:23:00 3772 4

原创 再次回到QtCoreApplication类

再次回到QtCoreApplication类终于完成了考试,可以恢复正常的生活了,继续我的源码分析之路。不知道会不会进决赛,如果进了,那么又需要一段时间来准备决赛的事情,看来,数据结构是免不了的了,终于要好好去看一次数据结构了。好了,不说别的了,继续今天的分析。今天,我们又一次来到QtCoreApplication类,看看这个类是怎么调用线程那些东西的。在QtCoreApplicati

2009-11-01 23:18:00 1334

原创 QT多线程系统分析QThread

 QT多线程系统分析QThread比赛推迟到了明天,今晚还要继续早点休息了。今天的天气突然变得特别冷,真不敢想象明天早上六点五十要在校门口集合是一个什么感觉。好了,现在开始今天的分析,我们从QThread类开始。路径corelib/thread/thread.h。在QThread类中引用了class QThreadData;class QThreadPrivate;首先该类

2009-10-31 22:53:00 3246

原创 QEventLoop类的运行机制

 QEventLoop类的运行机制明天上午要去比赛,所以提前做下代码分析,早点休息。在昨天的代码分析中,看到了Qt对于Windows消息的接管机制,以及其实现代码,今天继续对这一机制进行研究。在详细分析了QEventDispatcherWin32类的源代码之后,发现该类与QEventLoop与该类有所关联。首先查看下该类的文档,可以看到该类可以创建一个本地的事件循环,进行对应的处理。接

2009-10-31 19:35:00 2888

原创 QT Win32下的消息派送机制

 QT Win32下的消息派送机制——QEventDispatcherWin32类昨天为了准备接下来的比赛,做了一个双链表的快速排序,弄到了很晚,又一次没有进行我的源码分析。今天又忙到现在才有一会属于自己的时间去做源码分析。今天主要的入手点是Qt底层的消息传递机制,主要分析Windows下的实现机制,这样就需要对QEventDispatcherWin32类进行分析了:class

2009-10-29 23:56:00 2374

原创 QtCoreApplication类整体结构

QtCoreApplication类整体结构昨天偷懒了,没有进行源码分析,今天需要继续了。今天的目的是从整体上对QtCoreApplication的设计结构进行分析,看看这个类到底是什么样子的。首先进入该文件:src/corelib/kernel/qcoreapplication.h。首先预定义了我们经常需要的#define qApp QCoreApplication::ins

2009-10-28 08:09:00 1561

原创 元对象系统的整体结构分析(续三)

元对象系统的整体结构分析(续三)程序架构又一次重写了,这次应该会作为本次测试的最终架构模型了,又需要加班几天才行了。不过源码分析是不会变得,已经坚持了两星期,我要慢慢走向我的两年计划!好了,现在开始今天的探索:再次来到corelib/kernel/qmetaobject.h文件,今天研究一下QMetaEnum类,该类通过映射的关系提供了keyToValue和valueToKey的方式进

2009-10-28 08:07:00 562

原创 元对象系统的整体结构分析(续二)

元对象系统的整体结构分析(续二)又是全日制的一天,早上七点到晚上的9点,不过下午睡了两个小时,感觉还是挺精神的呢。今天对我们的程序有了些新的想法,程序又要重写了,不过已经习惯了,也就无所谓了。晚上继续进行我的源代码分析,看看今天会有什么新的收获?现在就开始我的Qt之旅:回忆一下,昨天在分析QMetaObject类,所以我们还从这里入手:在Qt的文档当中,提到了QMetaObject类是

2009-10-28 08:04:00 670

原创 元对象系统的整体结构分析

元对象系统的整体结构分析忙了一天了,终于有时间清静下来,可以做下自己的事情了。今天继续分析我们的元对象系统。今天的入手点还是在qmetaobject.h文件,昨天看到了QMetaMethod类,总的来说,该类就是提供了一种新的函数调用方法,至于其中的具体实现,在今后的分析中继续研究了。接下来是QMetaEnum类,该类的主要功能是将元对象系统中的名字与id相对应。QMetaProperty

2009-10-28 08:03:00 667

原创 元对象系统的整体结构分析(续一)

元对象系统的整体结构分析(续一)又是忙碌的一天啊,不过好的一点是,最忙的日中总算是暂时过去了,从明天开始,又可以做我的程序,做自己想做的事情了,感觉比较好。而且明天是星期六,放假了,虽然说对我意义并不大,但还是感觉挺不错。好了,言归正传,开始我们的QMetaObjectPrivate类的分析。昨天已经分析了该类的一些属性,发现正与元对象编译器中的结构体相对应。接下来,我们关注一下该类的

2009-10-28 08:03:00 511

原创 Qmetaobject.h文件整体分析

Qmetaobject.h文件整体分析又是忙碌的一天,感觉时间过的太快了,一天天的时间就这样匆匆流走,想想自己的所得,似乎怎么都赶不上时间流逝的飞快。只能尽量尝试压榨自己的时间,看能不能得到更多的收获,好对得起这人生最美好的年华。好了,言归正传,我们今天再次深入Connect函数,不知道今天又会有哪些收获呢?昨天看到了,最开始的部分,是对信号和槽名称的检测,接下来时要做一次检索了,来获

2009-10-28 08:02:00 721

原创 继续探索connect方法

继续探索connect方法又是忙碌的一天,终于在22:24分的时候,可以坐下来,继续我的源码分析之路的。最近一段时间的分析,收获很大,每天都能学到非常多的新东西,很多都是之前见都没见过的内容。一定要坚持下去,大学毕业的时候,这会是一笔非常宝贵的财富。言归正传,再次进入Connect函数:在昨天的分析中,我们看到这个函数:bool QInternal::activateCallbac

2009-10-28 08:01:00 1201 1

原创 MD5加密算法的实现

MD5加密算法的实现以下是Qt中MD5加密算法的实现:/* * This code implements the MD5 message-digest algorithm. * The algorithm is due to Ron Rivest.  This code was * written by Colin Plumb in 1993, no copyright is

2009-10-28 08:00:00 1083 1

原创 QMetaObject类的实现

QMetaObject类的实现周末就这样过去了,都还没有一点假日的感觉,明天又该6点起床,开始我新的一周了。这个学期过的真快,转眼就是8周的时间,自己收获了很多,但是总觉得时间不够用,需要继续努力了。今天的主要是分析QMetaObject类的实现,这样来详细的理解Qt信号与槽的机制。首先找到4.6中QMetaObject的定义,比较吃惊的是,这个之前一直被我称为类的东西,其声明居然是一

2009-10-28 07:57:00 3040 1

原创 QObject的Connect方法

QObject的Connect方法前两天分析了元对象系统的中,元对象编译器所做的部分,进过分析后,我们可以清楚的看到,实际上元对象编译器做了很简单的一个工作,甚至我们可以自己写一个程序来对这一部分代码进行优化。对于Qt生成的代码,我最不满意的地方就是那个通过switch-case进行信号和槽的选择调用,速度好慢的,不知道能否采用其他方式进行一定得优化。言归正传,我们开始今天的分析,关于

2009-10-28 07:57:00 1854

原创 QtCoreApplication(续二)

QtCoreApplication(续二)经过两天时间的奋斗,一个php的简单网站终于做完了,可以重新回到这里,专心分析我的Qt源代码了,感觉很好。今天主要的研究对象就是在Windows系统环境下的事件派送器(QEventDispatcherWin32),该类继承自QAbstractEventDispatcher,提供在Windows平台下的事件机制封装。#elif defined(Q

2009-10-28 07:55:00 706

原创 Qt中信号与槽的实现

Qt中信号与槽的实现今天和朋友聊到关于Qt中类间通信是如何实现的,所以打算对源对象编译器处理过的代码做个简单的分析,了解下信号和槽到底是什么样子。为了了解元对象编译器都做了些什么,先创建一个简单最简单的GUI程序。打开程序的debug目录,看到了moc_mainwindow.cpp文件,这就是Qt为我们做的事情了。/***********************************

2009-10-28 07:55:00 1224 1

原创 QtCoreApplication(续)

QtCoreApplication(续)今天有很多事情要做,在做了一番思想斗争之后,还是决定做继续分析Qt源代码,坚持就是胜利!Qt4.6bate1版本发布了,那么就使用最新的Qt源代码继续分析吧,应该变化不是很多,特别是这个程序入口的地方,已经很成熟了,不需要有太多改动。使用新的Creater,却没有像之前那样直接跟踪到该类的构造函数。找了很久才发现之前的源代码。电脑快没点了,今

2009-10-28 07:54:00 602

原创 继续构造函数之旅

继续构造函数之旅结束了忙碌的一天,可以静下心来看看期待已久的Qt源码了。今天的起点是QObject的构造函数。Q_INVOKABLE explicit QObject(QObject *parent=0);构造函数的声明是这样的,首先看到的是宏定义:Q_INVOKABLE,该宏在Qt文档中有说明,用于将函数在元对象系统中注册。Explicit关键字,该关键字可以阻止不应该允许的经过转换

2009-10-28 07:52:00 616

原创 QtCoreApplication

QtCoreApplication今天,继续研究关于QtCoreApplication的构造函数问题。QCoreApplication::self = this;该类保存了自身的指针,是静态方法,同时是私有成员,刚开始的时候以为是单例模式,后来发现好像也不是。不过跟之前的断言放在一起,就发现了其真正的意图。Q_ASSERT_X(!self, "QCoreApplication"

2009-10-28 07:52:00 883

原创 再探构造函数

再探构造函数昨天看到了构造函数的顺序,今天从最初的那些构造函数开始。首先,我们从最开始的QObjectData类进行研究:class QObjectData {public:virtual ~QObjectData() = 0;QObject *q_ptr;QObject *parent;QObjectList children; uint isWidget

2009-10-28 07:51:00 757

原创 Qt源码初窥

Qt源码初窥 今天,在给同学讲东西的时候,谈到了Qt源代码的问题,才发现自己对Qt机制的了解是在太少了,而Qt的魅力也在于它的开源。因此,决定,从今天起,每天坚持进行1小时以上的源码分析,无论如何,不能间断。看到那无数的工程,从什么地方开始呢?想想看,也就是从自己写的程序的运行机制作为入口点吧,希望可以窥探到一些Qt的架构知识。所有的Qt GUI程序都是从QApplication开

2009-10-28 07:46:00 2360 1

progit中文版

pro git 中文版,详细介绍了git的使用,是一本git使用的权威指南。

2012-04-05

Android应用程序键盘(Keyboard)消息处理机制分析

详细讲解了Android应用程序键盘消息处理机制,从Java层一直到C++层与系统对接,全部涵盖

2012-03-03

FTP通信协议英文版

FTP通信协议英文版,很适合做网络底层通信使用

2009-12-09

VC编程常用API函数

VC编程常用API函数,Windows系统里面的API函数

2008-08-30

空空如也

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

TA关注的人

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