C++ 烫烫烫 and 屯屯屯
admin | 开发问题 | 2015-03-27
此问题应该是只出现在VC的 Debug 模式下。对于未初始化的栈内存全部填成 0xcc,对应于汉字字符串看就是 烫烫烫烫……对于未初始化的堆(new)内存全部填成 0xcd,对应于汉字字符串看就是 屯屯屯屯……Release模式下直接就是内存中随机的数据。
一个0xcc是x86中断指令int 3的机器码,两个0xcc(0xcccc)就是一个烫字。0xcdcd是中断指令int 0xcd的机器码... [阅读全文]
虚析构函数
admin | 开发问题 | 2015-03-27
虚析构函数是为了解决这样的一个问题:基类的指针指向派生类对象,并用基类的指针删除派生类对象。
如果某个类不包含虚函数,那一般是表示它将不作为一个基类来使用。当一个类不准备作为基类使用时,使析构函数为虚一般是个坏主意。因为它会为类增加一个虚函数表,使得对象的体积翻倍,还有可能降低其可移植性。
所以基本的一条是:无故的声明虚析构函... [阅读全文]
error LNK2019: unresolved external symbol “unsigned int (__stdcall* ATL::g_pfnGetThreadACP)(void)” (?g_pfnGetThreadACP@ATL@@3P6G
admin | 开发问题 | 2015-03-05
在Additional Dependencies里面加入 atls.lib
[阅读全文]
V8引擎简介
admin | 开发问题 | 2015-02-11
QQ2013中使用Webkit内核替换原IE内核,内核中使用V8作为JS引擎,使得JS执行性能有了极大的提升,本文主要分析了一下V8引擎的实现与优势。
V8引擎作为一种动态语言运行时平台,需要实现动态语言源程序解析、执行,基本流程如下:
其中各部分非固定不变,主要有以下模式:
虚拟机模式:编译成AST或字节码后,执行环境提供AST或字节码的执行。
本地代码... [阅读全文]
详解Manifest文件使用
admin | 开发问题 | 2015-02-11
在Windows 2000时代,客户端软件A使用1版本的R.DLL,客户端软件B使用2版本的R.DLL。不巧系统上只能够存在一个版本的DLL文件,但是用户需要同时安装了软件A和软件B。这时有两种情况:
系统安装了2版本的R.dll,软件A错误地使用了2版本的R.dll,软件B正常运行。
系统安装了1版本的R.dll,软件B错误地使用了1版本的R.dll,软件A正常运行。
上面两种情... [阅读全文]
Mac平台Retina高分屏开发技术分享
admin | 开发问题 | 2015-02-11
QQ for Mac V2.1版本支持了Retina,作为国内首个支持Retina高分屏的Mac OS X App,我们希望能够和大家分享一些在Retina支持方面的开发技术心得。欢迎Mac平台的开发朋友们与我们沟通交流。
一 基本概念和思想
1 和iOS的异同
在系统对高分屏的支持上,Mac OS和iOS基本上是一样的:都是两倍的Scale Factor,都是系统自动来完成这个Scaling。但Mac OS毕竟... [阅读全文]
性能工具设计简介
admin | 开发问题 | 2015-02-11
客户端的性能是用户体验的一个非常重要的方面。在需求设计时要考虑到可能的性能问题;在不断的迭代开发新功能的同时要保持性能的稳定;在运营过程中要能追踪并解决历史遗留的性能问题。工欲善其事,必先利其器。虽然有不少现成工具可以使用,但自己设计性能工具更灵活,更有针对性。性能工具的主要功能是监控目标程序获取相关数据,以及一定的数据组织... [阅读全文]
客户端软件升级方式的变迁
admin | 开发问题 | 2015-02-11
直到Windows 8 之前,微软都没有像苹果的一样提供一个AppStore,所以在这个平台上开发和使用软件都是有一定门槛的:对于普通用户而言,专门跑去电子市场买一套办公或者娱乐软件的光盘并不是所有人都喜欢的事情,而即使是软件发展环境不太健康的中国市场,到各大软件网站下载到无毒的软件也不是一件容易的事情。
对于开发者而言更是如此,不仅要考虑完... [阅读全文]
句柄泄漏检测工具的实现原理
admin | 开发问题 | 2015-02-11
在Windows编程过程中,很多时候我们都要和句柄打交道,比如窗体句柄,内核对象句柄,GDI句柄,Windows Multimedia库中的多种句柄等等,以及其他更多未曾使用过的句柄类型。句柄(Handle)是Windows系统下特有的一种数据类型,其本质定义是基本数据类型PVOID,为什么定义为PVOID呢?因为他的数据长度跟处理器的位数有关,在32位CPU下句柄可以用一个32位... [阅读全文]