<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[有闻技术博客]]></title><description><![CDATA[技术、记录、思考]]></description><link>https://blog.youkuaiyun.com/easebone</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; easebone]]></copyright><item><title><![CDATA[Lambda表达式和闭包Closure]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/46462515</link><guid>https://blog.youkuaiyun.com/easebone/article/details/46462515</guid><author>easebone</author><pubDate>Thu, 11 Jun 2015 22:01:20 +0800</pubDate><description><![CDATA[所谓闭包Closure，就是一种将函数及其函数调用环境组成在一起的实体。还有一种概念是匿名函数，匿名函数与闭包一样给程序员提供了一种简单顺手的函数快捷定义方法，但闭包多出来的功能是：在定义函数时，还会将周边环境数据一起传入该函数中。比如C++ Lambda函数就是闭包，在定义Lambda函数时可认为在创建一个重载了()符号的类的实例，而周边环境数据作为该类的成员变量，在构造函数中传给实例中的成员。当]]></description><category></category></item><item><title><![CDATA[Qt Object模型及其线程和事件处理]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/46462435</link><guid>https://blog.youkuaiyun.com/easebone/article/details/46462435</guid><author>easebone</author><pubDate>Thu, 11 Jun 2015 21:56:07 +0800</pubDate><description><![CDATA[几个重要结论QObject、线程和事件处理对象类图如下： 
 
大多数Qt类的实现都采用”外部接口类+内部实现类“，即QAbc类作为接口给用户使用，但QAbc类的功能基本上在QAbcPrivate实现。 
每个线程都以QThread实例表示，并且在内部拥有一个QThreadData来表示线程的基本数据。 
每个线程维护了一个QPostEvent队列，用来保存待处理的事件（如鼠标、键盘以及用户事件），]]></description><category></category></item><item><title><![CDATA[using使用法总结]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/46461897</link><guid>https://blog.youkuaiyun.com/easebone/article/details/46461897</guid><author>easebone</author><pubDate>Thu, 11 Jun 2015 21:03:29 +0800</pubDate><description><![CDATA[using有两种用法，一种是using declaration（申明），另一种是using directive（指示）。using declaration一次只引入命名空间的一个成员，使得在using declaration的作用域内，对该成员的访问不需要在前面加命名空间。如：using NewDevice::Exposure; 
using declaration可以用在不同的地方，如全局作用域或]]></description><category></category></item><item><title><![CDATA[浅析volatile的用法]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/46448341</link><guid>https://blog.youkuaiyun.com/easebone/article/details/46448341</guid><author>easebone</author><pubDate>Wed, 10 Jun 2015 23:09:05 +0800</pubDate><description><![CDATA[为什么需要volatile在介绍volatile之前，先来了解一个GCC编译器优化的例子。 
如我们有如下代码：static int foo;void bar(void) {
    foo = 0;    while (foo != 255)
         ;
}那么GCC或者其他编译器在编译的时候，发现上面的代码while处需要一直读取foo变量的值，但这个foo变量在代码中并没有被变化，就]]></description><category></category></item><item><title><![CDATA[使用C操作文件的两种方式及其区别]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/41911469</link><guid>https://blog.youkuaiyun.com/easebone/article/details/41911469</guid><author>easebone</author><pubDate>Sat, 13 Dec 2014 17:17:12 +0800</pubDate><description><![CDATA[以Linux为例，用C代码操作文件一般有两种方法，一种是使用POSIX的函数操作文件（使用fd句柄，称为句柄法），另外则是使用LIBC提供的函数（使用FILE，称为指针法）。  句柄法的例程如下：     int main(void)    {      int fd;      int numbytes;      char path[] = "file";      char buf[256]]]></description><category></category></item><item><title><![CDATA[Qt国际化功能开发中的Locale问题]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7580639</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7580639</guid><author>easebone</author><pubDate>Fri, 18 May 2012 16:07:24 +0800</pubDate><description><![CDATA[基于Qt进行国际化功能的开发，主要问题是要搞清楚Locale这个概念。


Locale的概念



在计算机技术中，Locale是一个参数集，用于定义用户语言、国家（或地区）以及其他在用户界面中可见的与语言和国家相关的特性，比如日期表示、货币表示等。为了分别不同Locale，一个Locale对象会有一个ID来表示它，这个ID至少包括语言ID和地区ID。在POSIX系统中，Local]]></description><category></category></item><item><title><![CDATA[TTF字体基本知识及其在QT中的应用]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7580536</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7580536</guid><author>easebone</author><pubDate>Fri, 18 May 2012 15:50:43 +0800</pubDate><description><![CDATA[字体类型

以Windows为例，有4种字体技术：
Raster：光栅型，就是用位图来绘制字形(glyph)，每个字都以位图形式保存
Vector：矢量型，就是用一系列直线的结束点来表示字形
TrueType：使用一系列直线、曲线和一些提示(hint)命令来绘制字形
Microsoft OpenType：与TrueType一致
因为TrueType等字体的hint能够调节只想的长度和]]></description><category></category></item><item><title><![CDATA[多语言字符串的字体问题]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7382633</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7382633</guid><author>easebone</author><pubDate>Thu, 22 Mar 2012 12:20:01 +0800</pubDate><description><![CDATA[一个字符能够在Windows界面上显示出来，首先是当前编码要跟该字符的编码一致，同时还需要当前的字体支持。如果编码不匹配，显示出来往往就是乱码，如果字体不匹配，显示出来则往往是一个个方框。这里我们要分析一下字体的问题，对于一段字符串，如果里面包含了多种语言，尤其东亚语言，则用户选定的字体，往往不能支持所有的语言，比如中文并不支持Arial和Tahoma等字体。如果该字符没有对应的字体支持，就不会正]]></description><category></category></item><item><title><![CDATA[PPP和PPPoE的工作原理]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7370369</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7370369</guid><author>easebone</author><pubDate>Mon, 19 Mar 2012 19:36:22 +0800</pubDate><description><![CDATA[PPP协议简介
----------------------------
PPP: Point-to-Point Protocol，链路层协议。用户实现点对点的通讯。


PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。具体包含这样几个部分：链路控制协议LCP（Link Control Protocol）；网络控制协议NCP（Network Contro]]></description><category></category></item><item><title><![CDATA[IPTV的传输]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7352399</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7352399</guid><author>easebone</author><pubDate>Wed, 14 Mar 2012 12:26:08 +0800</pubDate><description><![CDATA[视频解码标准
---------------------------------------------------------------------------
MPEG2：与DVD编码制式一致，应用广泛，大量解码芯片支持；但占用带宽较大，存储空间大。
MPEG4：带宽要求低，2.5M能达到DVD效果，处理器资源要求低；存在多个分支，要考虑相互兼容。
H.264：带宽小，1.5M就能达]]></description><category></category></item><item><title><![CDATA[组播和IGMP]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7352390</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7352390</guid><author>easebone</author><pubDate>Wed, 14 Mar 2012 12:19:50 +0800</pubDate><description><![CDATA[组播和IGMP的作用
---------------------------------
所谓组播，与单播和广播相对，是指将网络主机将一次将数据发给多个属于同一组的目标主机。主要使用了IGMP协议。
IGMP，就是Internet Group Management Protocol的意思。该协议用来在ip主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系，但不包括组播路由器之间的组成]]></description><category></category></item><item><title><![CDATA[用QT产生报告的一种方案]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7348451</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7348451</guid><author>easebone</author><pubDate>Tue, 13 Mar 2012 13:34:37 +0800</pubDate><description><![CDATA[方案简述
------------------------------------------------------------------------------------------------
（1）有一个xml文件作为报告的模板F，各种需要动态显示的数据在模板中有唯一的标识，运行时可以根据这些标识来获得实际数据R；  
（2）使用xml的库，解析模板F，并根据标识填充实际的动态数]]></description><category></category></item><item><title><![CDATA[DSL的基本知识及其测试]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7347277</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7347277</guid><author>easebone</author><pubDate>Tue, 13 Mar 2012 09:20:48 +0800</pubDate><description><![CDATA[DSL简介
-----------------------------------------------------------------------
DSL的标准






Type


Standard Name


Alias


Created Time


BandWidth


Comments




ADSL]]></description><category></category></item><item><title><![CDATA[如何制作Linux交叉编译器]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7336148</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7336148</guid><author>easebone</author><pubDate>Fri, 09 Mar 2012 12:16:16 +0800</pubDate><description><![CDATA[TooChain包括的内容

gcc  - C编译器
glibc - C标准库
binutils - 二进制工具集，如ld, ar, as等
kernle header files - Linux内核头文件

这4部分不同的版本的正确组合才能成功构建一个交叉编译器，可参考http://www.kegel.com/crosstool/




几个重要的名词

Targe]]></description><category></category></item><item><title><![CDATA[D-Bus daemon的启动]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7336125</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7336125</guid><author>easebone</author><pubDate>Fri, 09 Mar 2012 12:09:51 +0800</pubDate><description><![CDATA[D-Bus daemon是D-Bus的非常重要的一个服务，类似于IP网络中的路由器。
跟这个后台服务有关的应用程序包括：
dbus-daemon: D-Bus的后台进程，作为D-Bus的消息中转枢纽，可分成system和session两种。
dbus-launch: 启动一个dbus-daemon，后面有不同的参数。一般而言，dbus-daemon启动后需要将其地址告诉给所有需要使用该bus]]></description><category></category></item><item><title><![CDATA[C++中explicit的作用]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7336113</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7336113</guid><author>easebone</author><pubDate>Fri, 09 Mar 2012 12:08:30 +0800</pubDate><description><![CDATA[在类的构造函数中，如果构造函数只有一个参数，则该函数会被用来隐式的类型转换以及拷贝构造。
如：
class C
{
public:
    C(const C &);  // 构造函数1
    C(int);              // 构造函数2
    ....
};

C func1(C c)
{
    return c; // 编译通过，此处会调用C的第一个构造函数，产生一个拷]]></description><category></category></item><item><title><![CDATA[网络安全中的公钥和私钥]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7336105</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7336105</guid><author>easebone</author><pubDate>Fri, 09 Mar 2012 12:05:24 +0800</pubDate><description><![CDATA[公钥和私钥的核心就是加密和解密的密码不一样，一个是公钥，另一个是私钥，这个机制也叫非对称密码机制。
和原来的对称密码不同，原来双方使用同一个密码，除了自己保存外，如果跟别人通讯，则要求对方也有同样的密码，就存在密码泄漏的可能；但对于非对称密码，由于加密和解密密码不一样，所以可以将其中一个密码完全公开，只要保证自己手上的另一个密码秘密性就可以了。可以对外公开的密码就是公钥，自己的就是私钥，公钥和私]]></description><category></category></item><item><title><![CDATA[字符集、编码和字体]]></title><link>https://blog.youkuaiyun.com/easebone/article/details/7336096</link><guid>https://blog.youkuaiyun.com/easebone/article/details/7336096</guid><author>easebone</author><pubDate>Fri, 09 Mar 2012 12:03:58 +0800</pubDate><description><![CDATA[三个基本概念
--------------------------------------------
要在计算机上读取、保存、书写和显示文字，涉及到三个基本概念。


1. 字符集
字符集可以说是一个抽象的概念，就是所有文字的集合，然后每个字都有一个独一无二的编号。下面讲的编码，其实就是对字符集中的字符、在其书写、现实和存取过程中的具体编码方法。两者不同，但实际上经常有人直接用编码来]]></description><category></category></item></channel></rss>