<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Marcelxx的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Marcelxx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Marcelxx]]></copyright><item><title><![CDATA[Timer例子]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/60574022</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/60574022</guid><author>Marcelxx</author><pubDate>Mon, 06 Mar 2017 12:08:51 +0800</pubDate><description><![CDATA[#include #include #include #include void onTime(int sock, short event, void*arg){std::cout << "On Timer" << std::endl;}int main(){#ifdef _WIN32WORD wVersionRequested;WSADATA wsaData;wVersionRequested]]></description><category></category></item><item><title><![CDATA[优快云课程。。。。。。]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/50346769</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/50346769</guid><author>Marcelxx</author><pubDate>Thu, 17 Dec 2015 21:16:35 +0800</pubDate><description><![CDATA[http://edu.youkuaiyun.com/courses/o280_s781]]></description><category></category></item><item><title><![CDATA[内存映射文件]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/41681239</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/41681239</guid><author>Marcelxx</author><pubDate>Tue, 02 Dec 2014 17:11:43 +0800</pubDate><description><![CDATA[一直都对内存映射文件这个概念很模糊，不知道它和虚拟内存有什么区别，而且映射这个词也很让人迷茫，今天终于搞清楚了。。。下面，我先解释一下我对映射这个词的理解，再区分一下几个容易混淆的概念，之后，什么是内存映射就很明朗了。
 
原理
首先，“映射”这个词，就和数学课上说的“一一映射”是一个意思，就是建立一种一一对应关系，在这里主要是只硬盘上文件的位置与进程逻辑地址空间中一块大小相同的区域之间的一]]></description><category></category></item><item><title><![CDATA[构造函数调用顺序]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/41548721</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/41548721</guid><author>Marcelxx</author><pubDate>Thu, 27 Nov 2014 16:46:58 +0800</pubDate><description><![CDATA[C++构造函数调用顺序




1、创建派生类的对象，基类的构造函数函数优先被调用（也优先于派生类里的成员类）；
2、如果类里面有成员类，成员类的构造函数优先被调用，静态成员优先调用；
3、基类构造函数如果有多个基类则构造函数的调用顺序是某类在类派生表中出现的
　　顺序而不是它们在成员初始化表中的顺序；

4、成员类对象构造函数如果有多个成员类对象则构造函数的调用顺序是对象在类]]></description><category></category></item><item><title><![CDATA[C++成员函数的隐藏、覆盖和重载。]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/41544929</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/41544929</guid><author>Marcelxx</author><pubDate>Thu, 27 Nov 2014 13:36:36 +0800</pubDate><description><![CDATA[成员函数的重载、覆盖（override）与隐藏很容易混淆，C++程序员必须要搞清楚概念，否则错误将防不胜防。
成员函数被重载的特征：
（1）相同的范围（在同一个类中）；
（2）函数名字相同；
（3）参数不同；
（4）virtual 关键字可有可无。
覆盖：派生类函数覆盖基类函数，特征是：
（1）不同的范围（分别位于派生类与基类）；
（2）函数名字相同；
（3）参数相同；
（4）]]></description><category></category></item><item><title><![CDATA[C++ 继承内存模型]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/41515787</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/41515787</guid><author>Marcelxx</author><pubDate>Wed, 26 Nov 2014 14:38:03 +0800</pubDate><description><![CDATA[今天在网上看到了一篇写得非常好的文章，是有关c++类继承内存布局的。看了之后获益良多，现在转在我自己的博客里面，作为以后复习之用。

——谈VC++对象模型
（美）简.格雷
程化    译 
译者前言 
一个C++程序员，想要进一步提升技术水平的话，应该多了解一些语言的语意细节。对于使用VC++的程序员来说，还应该了解一些VC++对于C++的诠释。 Inside the C++ Obj]]></description><category></category></item><item><title><![CDATA[GDB调试大型工程]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/41345785</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/41345785</guid><author>Marcelxx</author><pubDate>Fri, 21 Nov 2014 11:02:37 +0800</pubDate><description><![CDATA[1，默认的源码目录在main函数的目录；
2，如果要调试的项目不再]]></description><category></category></item><item><title><![CDATA[Qt 事件与循环，和QEventLoop]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/40348325</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/40348325</guid><author>Marcelxx</author><pubDate>Tue, 21 Oct 2014 17:34:12 +0800</pubDate><description><![CDATA[1、事件循环一般用exec()函数开启。QApplicaion::exec()、QMessageBox::exec()都是事件循环。其中前者又被称为主事件循环。

事件循环首先是一个无限“循环”，程序在exec()里面无限循环，能让跟在exec()后面的代码得不到运行机会，直至程序从exec()跳出。从exec()跳出时，事件循环即被终止。QEventLoop::quit()能够终止事件循环。]]></description><category></category></item><item><title><![CDATA[Qt moveToThread使用说明]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/40339707</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/40339707</guid><author>Marcelxx</author><pubDate>Tue, 21 Oct 2014 09:31:14 +0800</pubDate><description><![CDATA[class]]></description><category></category></item><item><title><![CDATA[P2P通信]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/40085149</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/40085149</guid><author>Marcelxx</author><pubDate>Tue, 14 Oct 2014 21:28:09 +0800</pubDate><description><![CDATA[在传统的集中式网络中，都是一台服务器（集群）对外提供服务，所有客户端都依赖中央服务器进行与服务端的通信或者其他客户端的通信。如图        这样的通信方式，一个数据包从一个客户端发送到另一个客户端都要在服务端中进行中转，服务端承受的压力非常大，很容易因为线程问题而当机。   于是提出另一种通信方式：P2P通信（peer to peer） 对等通信。 即：在p2p的网络中，所有网络节点都是同等地]]></description><category></category></item><item><title><![CDATA[QTableView中嵌入CheckBox的四种方法]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/39477525</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/39477525</guid><author>Marcelxx</author><pubDate>Mon, 22 Sep 2014 15:49:29 +0800</pubDate><description><![CDATA[搜索了一下，QTableView中嵌入复选框CheckBox方法有四种：
 
 
       第一种不能之前显示，必须双击/选中后才能显示，不适用。
       第二种比较简单，通常用这种方法。
       第三种只适合静态显示静态数据用
      第四种比较适合扩展，它除了可以嵌入复选框，还可以通过paint()绘制其它控件，图片等自定义风格。


第一种方法是：编辑委]]></description><category></category></item><item><title><![CDATA[QSS语法]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/39396095</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/39396095</guid><author>Marcelxx</author><pubDate>Fri, 19 Sep 2014 11:38:33 +0800</pubDate><description><![CDATA[借用css 的灵感， Qt也支持Qt自己的css, 简称qss。同css 相似，qss的主要功能与最终目的都是能使界面的表现与界面的元素分离，即质与形的分离，就如同一个人可以在不同的时候穿上不同的衣服一样，css机制的引入，使得设计一种皮肤与界面控件分离的软件成为可能，应用程序也能像web界面那样随意地改变外观。

一、QSS语法

同css一样，他也有由一个selector与一个decl]]></description><category></category></item><item><title><![CDATA[Qt编码问题]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/34109357</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/34109357</guid><author>Marcelxx</author><pubDate>Tue, 24 Jun 2014 16:01:19 +0800</pubDate><description><![CDATA[QT使用Unicode来存储，绘制以及操作字符串。在很多情况下，可能想要使用不同的编码方式来处理数据。例如大部分的日语文件都被存储在 Shift-JIS或者
 ISO2022的文件中，而俄罗斯的用户常常使用KOI8-R或者CP1251编码方式。QT提供了一个QTextCodec
类集合来从Unicode格式转化到相应的格式。
 
通过QTextCodec可以对程序预设编码方式，有以下三种：]]></description><category></category></item><item><title><![CDATA[QWaitCondition]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/33731221</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/33731221</guid><author>Marcelxx</author><pubDate>Mon, 23 Jun 2014 14:30:31 +0800</pubDate><description><![CDATA[/* 
使用QWaitCondition和QMutex可以实现比信号量更精确的控制 
*/  
  
#include   
#include   
  
//const int DataSize = 100000;  
//const int BufferSize = 4096;  
  
  
const int DataSize = 100;  
const int ]]></description><category></category></item><item><title><![CDATA[Qt信号量]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/33726089</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/33726089</guid><author>Marcelxx</author><pubDate>Mon, 23 Jun 2014 11:36:26 +0800</pubDate><description><![CDATA[■：QSemphore
    Qt中的信号量是由QSemaphore类提供的，信号量可以理解为互斥量功能的扩展，互斥量只能锁定一次而信号量可以获取多次，它可以用来保护一定数量的同种资源。
    acquire(n)函数用于获取n个资源，当没有足够的资源时调用者将被阻塞直到有足够的可用资源。release(n)函数用于释放n个资源。
    QSemaphore类还提供了一个tryAcqu]]></description><category></category></item><item><title><![CDATA[Qt的线程关联性]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/32715841</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/32715841</guid><author>Marcelxx</author><pubDate>Fri, 20 Jun 2014 16:44:57 +0800</pubDate><description><![CDATA[全文转载自dbzhang800的Bolg，「QObject 之 Thread Affinity」            
  原文地址：http://blog.youkuaiyun.com/dbzhang800/article/details/6557272    
  原文发布时间：2011-06-20 22:09                                       

注意]]></description><category></category></item><item><title><![CDATA[Qt线程与事件循环]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/32715451</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/32715451</guid><author>Marcelxx</author><pubDate>Fri, 20 Jun 2014 16:35:54 +0800</pubDate><description><![CDATA[周末天冷，索性把电脑抱到床上上网，这几天看了 dbzhang800 博客关于 Qt 事件循环的几篇 Blog，发现自己对 Qt 的事件循环有不少误解。从来只看到现象，这次借 dbzhang800 的博客，就代码论事，因此了解到一些 Qt 深层的实现，虽然是在 Qt 庞大的构架里只算的是冰山的一角，确让人颇为收益。
        从 dbzhang800 的博客中转载两篇关于事件循环的文章，放在]]></description><category></category></item><item><title><![CDATA[Qt模态对话框与事件循环]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/32714015</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/32714015</guid><author>Marcelxx</author><pubDate>Fri, 20 Jun 2014 15:49:51 +0800</pubDate><description><![CDATA[起源
qtcn中文论坛中有网友问到：
假设程序正常运行时，只有一个简单的窗体A，此时只有一个GUI主线程，在这个主线程中有一个事件循环处理窗体上的事件。当此程序运行到某阶段时，弹出一个模态窗体B（书上说模态窗体是有其自己的事件循环的），此时模态窗体B是否会有一个对应的子线程处理其事件循环？
这儿其实有两个问题：

模态对话框 和 事件循环 没有必然联系事件循环 和 子线程 没有必然联系]]></description><category></category></item><item><title><![CDATA[Qt通过ODBC使用MySql]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/32327899</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/32327899</guid><author>Marcelxx</author><pubDate>Thu, 19 Jun 2014 14:45:04 +0800</pubDate><description><![CDATA[1，安装MySql的ODBC驱动：
      下载]]></description><category></category></item><item><title><![CDATA[QProcess的使用]]></title><link>https://blog.youkuaiyun.com/Marcelxx/article/details/32131005</link><guid>https://blog.youkuaiyun.com/Marcelxx/article/details/32131005</guid><author>Marcelxx</author><pubDate>Wed, 18 Jun 2014 15:33:52 +0800</pubDate><description><![CDATA[本文通过QProcess，实现了在Qt中调用外部程序（控制台程序），并将输出重定向到了一个QTextEdit里。效果如下图所示：
 
运行界面如下：


 
程序共包含以下三个文件：
 


[cpp] 
view plaincopy


//: main.cpp  #include "process.h"  #include   #include   int main]]></description><category></category></item></channel></rss>