自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有闻技术博客

技术、记录、思考

  • 博客(18)
  • 收藏
  • 关注

原创 Lambda表达式和闭包Closure

所谓闭包Closure,就是一种将函数及其函数调用环境组成在一起的实体。还有一种概念是匿名函数,匿名函数与闭包一样给程序员提供了一种简单顺手的函数快捷定义方法,但闭包多出来的功能是:在定义函数时,还会将周边环境数据一起传入该函数中。比如C++ Lambda函数就是闭包,在定义Lambda函数时可认为在创建一个重载了()符号的类的实例,而周边环境数据作为该类的成员变量,在构造函数中传给实例中的成员。当

2015-06-11 22:01:20 1330

原创 Qt Object模型及其线程和事件处理

几个重要结论QObject、线程和事件处理对象类图如下: 大多数Qt类的实现都采用”外部接口类+内部实现类“,即QAbc类作为接口给用户使用,但QAbc类的功能基本上在QAbcPrivate实现。 每个线程都以QThread实例表示,并且在内部拥有一个QThreadData来表示线程的基本数据。 每个线程维护了一个QPostEvent队列,用来保存待处理的事件(如鼠标、键盘以及用户事件),

2015-06-11 21:56:07 3704 1

原创 using使用法总结

using有两种用法,一种是using declaration(申明),另一种是using directive(指示)。using declaration一次只引入命名空间的一个成员,使得在using declaration的作用域内,对该成员的访问不需要在前面加命名空间。如:using NewDevice::Exposure; using declaration可以用在不同的地方,如全局作用域或

2015-06-11 21:03:29 1267

原创 浅析volatile的用法

为什么需要volatile在介绍volatile之前,先来了解一个GCC编译器优化的例子。 如我们有如下代码:static int foo;void bar(void) { foo = 0; while (foo != 255) ;}那么GCC或者其他编译器在编译的时候,发现上面的代码while处需要一直读取foo变量的值,但这个foo变量在代码中并没有被变化,就

2015-06-10 23:09:05 573

原创 使用C操作文件的两种方式及其区别

以Linux为例,用C代码操作文件一般有两种方法,一种是使用POSIX的函数操作文件(使用fd句柄,称为句柄法),另外则是使用LIBC提供的函数(使用FILE,称为指针法)。 句柄法的例程如下: int main(void) {   int fd;   int numbytes;   char path[] = "file";   char buf[256]

2014-12-13 17:17:12 1170

原创 Qt国际化功能开发中的Locale问题

基于Qt进行国际化功能的开发,主要问题是要搞清楚Locale这个概念。Locale的概念在计算机技术中,Locale是一个参数集,用于定义用户语言、国家(或地区)以及其他在用户界面中可见的与语言和国家相关的特性,比如日期表示、货币表示等。为了分别不同Locale,一个Locale对象会有一个ID来表示它,这个ID至少包括语言ID和地区ID。在POSIX系统中,Local

2012-05-18 16:07:24 8393

原创 TTF字体基本知识及其在QT中的应用

字体类型以Windows为例,有4种字体技术:Raster:光栅型,就是用位图来绘制字形(glyph),每个字都以位图形式保存Vector:矢量型,就是用一系列直线的结束点来表示字形TrueType:使用一系列直线、曲线和一些提示(hint)命令来绘制字形Microsoft OpenType:与TrueType一致因为TrueType等字体的hint能够调节只想的长度和

2012-05-18 15:50:43 7334

原创 多语言字符串的字体问题

一个字符能够在Windows界面上显示出来,首先是当前编码要跟该字符的编码一致,同时还需要当前的字体支持。如果编码不匹配,显示出来往往就是乱码,如果字体不匹配,显示出来则往往是一个个方框。这里我们要分析一下字体的问题,对于一段字符串,如果里面包含了多种语言,尤其东亚语言,则用户选定的字体,往往不能支持所有的语言,比如中文并不支持Arial和Tahoma等字体。如果该字符没有对应的字体支持,就不会正

2012-03-22 12:20:01 5639

原创 PPP和PPPoE的工作原理

PPP协议简介----------------------------PPP: Point-to-Point Protocol,链路层协议。用户实现点对点的通讯。PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。具体包含这样几个部分:链路控制协议LCP(Link Control Protocol);网络控制协议NCP(Network Contro

2012-03-19 19:36:22 25236

原创 IPTV的传输

视频解码标准---------------------------------------------------------------------------MPEG2:与DVD编码制式一致,应用广泛,大量解码芯片支持;但占用带宽较大,存储空间大。MPEG4:带宽要求低,2.5M能达到DVD效果,处理器资源要求低;存在多个分支,要考虑相互兼容。H.264:带宽小,1.5M就能达

2012-03-14 12:26:08 4703

原创 组播和IGMP

组播和IGMP的作用---------------------------------所谓组播,与单播和广播相对,是指将网络主机将一次将数据发给多个属于同一组的目标主机。主要使用了IGMP协议。IGMP,就是Internet Group Management Protocol的意思。该协议用来在ip主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系,但不包括组播路由器之间的组成

2012-03-14 12:19:50 6916

原创 用QT产生报告的一种方案

方案简述------------------------------------------------------------------------------------------------(1)有一个xml文件作为报告的模板F,各种需要动态显示的数据在模板中有唯一的标识,运行时可以根据这些标识来获得实际数据R;  (2)使用xml的库,解析模板F,并根据标识填充实际的动态数

2012-03-13 13:34:37 3985

原创 DSL的基本知识及其测试

DSL简介-----------------------------------------------------------------------DSL的标准TypeStandard NameAliasCreated TimeBandWidthCommentsADSL

2012-03-13 09:20:48 14735 1

原创 如何制作Linux交叉编译器

TooChain包括的内容gcc  - C编译器glibc - C标准库binutils - 二进制工具集,如ld, ar, as等kernle header files - Linux内核头文件这4部分不同的版本的正确组合才能成功构建一个交叉编译器,可参考http://www.kegel.com/crosstool/几个重要的名词Targe

2012-03-09 12:16:16 2330

原创 D-Bus daemon的启动

D-Bus daemon是D-Bus的非常重要的一个服务,类似于IP网络中的路由器。跟这个后台服务有关的应用程序包括:dbus-daemon: D-Bus的后台进程,作为D-Bus的消息中转枢纽,可分成system和session两种。dbus-launch: 启动一个dbus-daemon,后面有不同的参数。一般而言,dbus-daemon启动后需要将其地址告诉给所有需要使用该bus

2012-03-09 12:09:51 29576

原创 C++中explicit的作用

在类的构造函数中,如果构造函数只有一个参数,则该函数会被用来隐式的类型转换以及拷贝构造。如:class C{public: C(const C &); // 构造函数1 C(int); // 构造函数2 ....};C func1(C c){ return c; // 编译通过,此处会调用C的第一个构造函数,产生一个拷

2012-03-09 12:08:30 807

原创 网络安全中的公钥和私钥

公钥和私钥的核心就是加密和解密的密码不一样,一个是公钥,另一个是私钥,这个机制也叫非对称密码机制。和原来的对称密码不同,原来双方使用同一个密码,除了自己保存外,如果跟别人通讯,则要求对方也有同样的密码,就存在密码泄漏的可能;但对于非对称密码,由于加密和解密密码不一样,所以可以将其中一个密码完全公开,只要保证自己手上的另一个密码秘密性就可以了。可以对外公开的密码就是公钥,自己的就是私钥,公钥和私

2012-03-09 12:05:24 3582

原创 字符集、编码和字体

三个基本概念--------------------------------------------要在计算机上读取、保存、书写和显示文字,涉及到三个基本概念。1. 字符集字符集可以说是一个抽象的概念,就是所有文字的集合,然后每个字都有一个独一无二的编号。下面讲的编码,其实就是对字符集中的字符、在其书写、现实和存取过程中的具体编码方法。两者不同,但实际上经常有人直接用编码来

2012-03-09 12:03:58 6642 2

空空如也

空空如也

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

TA关注的人

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