02 2013 档案

摘要:针对类或结构中unsigned或int成员,C++提供了为其指定存储位数的能力,这种成员称为位段。利用位段可用最小的位数来存放数据以更好地利用内存。位段成员必须被声明为unsigned或int类型。1 struct BitCard{ 2 unisgned face:4;3 unsigned suit:2;4 unsigned color:1;5 };包括了3个unsigned型位段:face,suit和color,用于表示一副牌中的一张牌。声明位段的方式是这样的,在unsigned或int成员后加一冒号,然后再加一个标识位段宽度(即成员被存储的位数)的整形常量。位段宽度必须是在0和存储一个in 阅读全文
posted @ 2013-02-28 17:46 JustinYo 阅读(229) 评论(0) 推荐(0) 编辑
摘要:std::bitset是STL的一部分,准确地说,std::bitset是一个模板类,它的模板参数不是类型,而整形的数值(这一特性是ISO C++2003的新特性),有了它我们可以像使用数组一样使用位。下面看一个例子:#include<bitset>std::bitset<8> bs;//它是一个模板,传递的参数告诉编译器bs有8个位。我们接着看上面的代码,通过上面两行的代码我们得到一个bitset的对象bs,bs可以装入8个位,我们可以通过数组的下标运算符来存取:bs[0]=1;//把第0位设置为1bs[3]=true;//把第3位设置为1,因为true可以转换为1b 阅读全文
posted @ 2013-02-27 20:38 JustinYo 阅读(720) 评论(0) 推荐(0) 编辑
摘要:静态初始化程序中发生意外异常的信号。抛出 ExceptionInInitializerError 表明在计算静态初始值或静态变量的初始值期间发生异常。就是在新建一个类对象的时候初始化类的成员函数的时候,出现错误,如空指针之类的。 阅读全文
posted @ 2013-02-27 10:28 JustinYo 阅读(274) 评论(0) 推荐(0) 编辑
摘要:SkPicture The SkPicture class records the drawing commands made to a canvas, to be played back at a later time.Pictures record API commands, for later playback (e.g.canvas.drawPicture(pict)). Bitmaps store pixels (either directly set,or set by drawing into the bitmap with a canvas. 阅读全文
posted @ 2013-02-21 22:26 JustinYo 阅读(433) 评论(0) 推荐(0) 编辑
摘要:硬件加速是指在芯片中专门有负责这一功能的硬件计算电路。效率较高,而且不占用他部件的运行资源,但是缺点是电路一旦制造出来就无法更改,所以算法效率和质量未必是最优的。软件加速指用通用的计算电路进行运算,比较占用资源,但是可以实时更新算法来提高效率和质量。。打个比喻。就是卡西欧的计算器和XP附件里的计算器的区别。 阅读全文
posted @ 2013-02-21 16:03 JustinYo 阅读(488) 评论(0) 推荐(0) 编辑
摘要:硬件加速英文名Hardware acceleration;硬件解码生效的时候,系统是怎么运转的呢?现在我们有三个处理器,CPU、GPU和APU(不是加速处理器是声音处理器)。他们通过PCI/AGP/PCIE总线交换数据。1.CPU从文件系统里读出原始数据(DirectSHow的源滤镜),分离出压缩的视频数据(分离器)。放在系统内存中。GPU、APU发呆2.CPU把压缩音视频数据交给GPU、APU, 这时总线上开始忙了,压缩数据从系统内存拷贝到显卡上的显存里和声卡上的声存里(如果有的话)。3.CPU要求GPU、APU开始硬件解码,现在CPU进入发呆期,GPU、APU开始忙。当然CPU会定期查询一 阅读全文
posted @ 2013-02-21 15:51 JustinYo 阅读(218) 评论(0) 推荐(0) 编辑
摘要:CURL? 嗯,说来话长了~~~~这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑1)二话不说,先从这里开始吧!curl http://www.yahoo.com回车之后,www.yahoo.com 的html就稀里哗啦地显示在屏幕上了~~~~~2)嗯,要想把读过来页面存下来,是不是要这样呢?curl http://www.yahoo.com > page.html当然可以,但不用这么麻烦的!用curl的内置option就好,存下http的结果,用这个option: -ocurl -o page.html http://www.yahoo.com这样,你就可以看到屏幕上出 阅读全文
posted @ 2013-02-19 20:39 JustinYo 阅读(348) 评论(0) 推荐(0) 编辑
摘要:对于这个错误,顾名思义,就是"storage class"的修饰符用在了对象或者变量(objects)和函数(functions)外的其他地方。 在C/C++规范中,定义了四种storage class的修饰符。autoregisterstaticextern 我所遇到的这个编译错误所对应的代码是下面所示。class CDataSet{ public:staticenum ePrintRange { ALLDATA = 0, ...... } ...... } (本人在学习STL,从互联网上找来一些例子学习,本人在编译某个例子的过程中遇到这个问题) 很显然,是这个" 阅读全文
posted @ 2013-02-19 20:28 JustinYo 阅读(2622) 评论(0) 推荐(0) 编辑
摘要:出现这个错误表示在A.h中定义了一个类模版,并且在A.h中需要#include"B.h"(即,需要知道B的定义)而在B.h中又使用了A.h中定义的模版,因此也需要#include"A.h"(即,又需要知道A的定义)头文件相互包含,不但要用到#include,而且还要分别声明要用到的类。比如A.h中,添加#include"B.h",而且要添加classB;B.h中也是一样,否则就报错。 阅读全文
posted @ 2013-02-19 20:15 JustinYo 阅读(19767) 评论(0) 推荐(0) 编辑
摘要:class CPlayer;class CReader : public IWMReaderCallback , public IWMReaderCallbackAdvanced // for sample optimization{private: ...}相当于 extern class CPlayer extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。 阅读全文
posted @ 2013-02-19 19:59 JustinYo 阅读(312) 评论(0) 推荐(0) 编辑
摘要:在使用SI敲代码的时候,不喜欢再用鼠标点来点去,如果能记住快捷键,手就不用切来切去了。如何从主窗口切换到找文件的子窗口: CTRL+O如何从主窗口切换到找函数的子窗口:ALT+L如何关闭当前文件的窗口:CTRL+W如何关闭所有文件的窗口:CTRL+SHIFT+W使用过程中发现有实用新的技巧,会继续添加,也欢迎大家告知。 阅读全文
posted @ 2013-02-18 17:21 JustinYo 阅读(670) 评论(0) 推荐(0) 编辑
摘要:一:什么是ANRANR:Application Not Responding,即应用无响应二:ANR的类型ANR一般有三种类型:1:KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应2:BroadcastTimeout(10 seconds)BroadcastReceiver在特定时间内无法处理完成3:ServiceTimeout(20 seconds) --小概率类型Service在特定的时间内无法处理完成三:KeyDispatchTimeoutAkey or touch event was not dispatched within t 阅读全文
posted @ 2013-02-18 15:45 JustinYo 阅读(1677) 评论(0) 推荐(0) 编辑
摘要:整型的每一种都有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的数据,比如16位系统中一个int能存储的数据的范围为–32768 ~ 32767(16位2进制的最高位作为符号位‘1’为负‘0’为正),而unsigned能存储的数据范围则是0~65535(这个最高位不用做符号位,所以是2的16次方,一共65536)。由于在计算机中,整数是以补码形式存放的。根据最高位的不同,如果是1,有符号数的话就 阅读全文
posted @ 2013-02-18 11:54 JustinYo 阅读(779) 评论(0) 推荐(0) 编辑
摘要:成员函数声明后面跟上throw(),表示告诉类的使用者:我的这个方法不会抛出异常,所以,在使用该方法的时候,不必把它至于 try/catch 异常处理块中。声明一个不抛出异常的函数后,你有责任保证在你的函数的实现里面不会抛出异常。void A::foo() throw() {throw (5); // 程序会在这里崩溃.(编者注:如果该异常被处理,不会崩溃)}编译器不会认为上面的代码存在错误,(编者注:vc2005会给出警告:warning C4297: “foo”: 假定函数不引发异常,但确实发生了)但是,如果该异常未被上层的异常过滤器捕捉的话,会引发运行时的错误。综上述:1) 函数后面声明 阅读全文
posted @ 2013-02-18 11:40 JustinYo 阅读(700) 评论(0) 推荐(0) 编辑
摘要:在网上搜教程 好烦 写了一大堆 要讲究效率 只是要打包一个文件夹就可以了tar cvzf xxx.tar.gz xxx/ xxx表示文件名 阅读全文
posted @ 2013-02-01 20:32 JustinYo 阅读(2285) 评论(0) 推荐(0) 编辑