代码改变世界

随笔分类 -  Visual C++

Xperf Basics: Recording a Trace (the easy way)(转)

2014-01-14 18:34 by Clingingboy, 1297 阅读, 收藏, 编辑
摘要: http://randomascii.wordpress.com/2013/04/20/xperf-basics-recording-a-trace-the-easy-way/ Some time ago I wrote a long and detailed post about how to record traces using xperf. The steps needed ... 阅读全文

Xperf Basics: Recording a Trace(转)

2014-01-14 18:26 by Clingingboy, 803 阅读, 收藏, 编辑
摘要: http://randomascii.wordpress.com/2011/08/18/xperf-basics-recording-a-trace/ This post is obsolete – deprecated. For information on newer/easier/better ways of recording xperf traces see Xperf Basi... 阅读全文

Xperf Analysis Basics(转)

2014-01-14 18:24 by Clingingboy, 548 阅读, 收藏, 编辑
摘要: FQ不易,转载 http://randomascii.wordpress.com/2011/08/23/xperf-analysis-basics/ I started writing a description of how to examine CPU Sampling data in xperf and realized that I needed a basics article... 阅读全文

Uniscribe文字自动换行

2013-12-08 13:29 by Clingingboy, 722 阅读, 收藏, 编辑
摘要: 转载:http://blog.csdn.net/jianlizhao66/article/details/1480457 我们获得了每个字形的宽度数组piAdvances,以及这个RUN所占用的总宽度abc。 piVdvances对应于每个字符,它取得了每个字形所占用宽度。 如果我们以行为单位来绘制文字,我们可以以一个循环来取得每个RUN的宽度信息,并一直相加,假设我们己取得了一些ru... 阅读全文

codepage IMLangCodePages

2013-12-02 14:47 by Clingingboy, 464 阅读, 收藏, 编辑
摘要: http://baike.baidu.com/link?url=78DSTGAri8dvHNLQ03rThSKieJqhFwFWL4sQMao6cfaRSOUWN88QVBwmSJPCZch0vfyChnSoRHC1iscdGiSHOK 使用COM对象查询 CoCreateInstance(CLISD_MLANG,NULL,CLSCTX_INPROC_SERVER,__uuidof(IM... 阅读全文

DirectUI消息循环的简单封装

2013-11-09 13:56 by Clingingboy, 1129 阅读, 收藏, 编辑
摘要: 一.真窗体和假窗体 首先在DirectWindow内部创建一个真窗体(基于WTL),可以接收消息 class CMessageWindow : public CWindowImpl{public: CMessageWindow(); ~CMessageWindow(); BEGIN_MSG_MAP( CMessageWindow ) MESSAGE_RAN... 阅读全文

VC++ 使用attributes定义接口

2013-11-04 19:26 by Clingingboy, 864 阅读, 收藏, 编辑
摘要: 1.定义预处理命令_ATL_ATTRIBUTES 2.在一个全局的Cpp文件里面配置module的attribute [module(dll, uuid = "{3845951F-15B8-4286-8E7D-E9D4F5C7B6CE}", name = "TestApp")]3.定义接口[ object, uuid("9F414A8A-1D5E-4aff-A60... 阅读全文

VC设置代理方法

2013-07-29 11:38 by Clingingboy, 1079 阅读, 收藏, 编辑
摘要: 参考文章: VC 设置代理 Setting and Retrieving Internet Options Change Internet Proxy settings http://support.microsoft.com/kb/226473 http://bbs.csdn.net/topics/310192443 Setting Connec... 阅读全文

GetStockObject 理解

2013-04-13 12:06 by Clingingboy, 5946 阅读, 收藏, 编辑
摘要: 转:http://blog.csdn.net/fysy0000/article/details/6615590 GetStockObject在图形编程中是常用API之一,对于GetStockObject,我一直认为它获得的"对象"是一个句柄(因为GetStockObject的API参考下面有DeleteObject函数的链接,一般只有图形对象函数的链接中才会有它的),并且认为它是从当前程序... 阅读全文

windbg调试命令

2013-03-26 19:31 by Clingingboy, 42623 阅读, 收藏, 编辑
摘要: 转:http://www.cnblogs.com/kekec/archive/2012/12/02/2798020.html #调试命令窗口 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #重要说明 (1) windbg命令分为标准命令,元命令和扩展命令。 标准命令提供最基本的调试功能,... 阅读全文

空指针赋值分区

2013-03-20 10:56 by Clingingboy, 843 阅读, 收藏, 编辑
摘要: 转:http://www.cnblogs.com/anzhihun/archive/2009/08/08/1349032.html 为什么通过空指针读写的时候就会出现异常? 除了NULL表示空指针,是否还有其他的值也是空指针? 如果还有其他的值,你们这些表示空指针的值都是什么?为什么? 首先解答第一个问题,在windows核心编程第四版的windows的内存结构一... 阅读全文

c++ template(7-1)模板参数声明

2013-03-14 14:00 by Clingingboy, 531 阅读, 收藏, 编辑
摘要: 一.联合体可以使用模板 template <typename T> union AllocChunk { T object; unsigned char bytes[sizeof(T)]; }; 二.函数默认缺省调用实参template <typename T> void report_top (Stack<T> const&, int number = 10); temp... 阅读全文

c++ template(6)模板术语

2013-03-14 13:28 by Clingingboy, 352 阅读, 收藏, 编辑
摘要: 一.”类模板”还是“模板类” 简单理解: 声明的类为“类模板” 被实例化出来的类叫“模板类” 二.实例化和特化 实例化是一个产生模板类(或函数)的一个过程 通过实例化获得的实体就是特化 特化分两种:显示特化和偏特化 三.声明和定义(declaration and definition) 参考:http://zhidao.baidu.com/que... 阅读全文

RegisterWaitForSingleObject的使用

2013-03-12 18:16 by Clingingboy, 3294 阅读, 收藏, 编辑
摘要: 参考: 5天不再惧怕多线程——第五天 线程池 ThreadPool基础之RegisterWaitForSingleObject 意图:可控制的线程池 贴一段chrome的封装代码 // Copyright (c) 2012 The Chromium Authors. All rights reserved.// Use of this source code is governed... 阅读全文

LocalAlloc,VirtualAlloc,malloc,new的异同

2013-03-07 13:59 by Clingingboy, 7224 阅读, 收藏, 编辑
摘要: 转:http://hi.baidu.com/luckdst/item/0025cfce7acab1090bd93a3c 首先明白几个概念:虚拟内存是从硬盘置换出来的,堆本身就是内存,程序运行时,可用内存=物理内存+虚拟内存。虚拟内存一般用文件来保存数据,虚拟内存的出现主要是因为以前内存不够(16M的内存刚出来的时候可是天价啊),磁盘相对便宜一些,所以聪明的系统设计者就把设计了虚拟内... 阅读全文

GlobalAlloc,GlobalFree,GlobalReAlloc

2013-03-07 13:53 by Clingingboy, 1863 阅读, 收藏, 编辑
摘要: 转:http://a547705232.blog.163.com/blog/static/172491595201112844911251/ GlobalAlloc和GlobalFree是一对分配和释放的内存函数。使用GlobalAlloc分配的内存使用GlobalFree释放,不同于HeapAlloc函数,GlobalAlloc函数会采用默认堆,不需要指定堆句柄,只需要指定分配的属性与分... 阅读全文

VirtualProtect、VirtualLock、VirtualUnlock

2013-03-07 13:31 by Clingingboy, 1177 阅读, 收藏, 编辑
摘要: 转:http://a547705232.blog.163.com/blog/static/172491595201122145047622/ VirtualProtect改变指定虚拟内存分页的保护属性,函数原型如下: BOOL VirtualProtect( LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect,... 阅读全文

关于Windows内存的一些参考文章

2013-03-06 13:39 by Clingingboy, 300 阅读, 收藏, 编辑
摘要: Task Manager跟Performance Monitor的区别(Working set和Private bytes) 你真的懂任务管理器中有关内存的参数Private(提交大小)和working set(工作设置)吗? 阅读全文

ATL、MFC、WTL CString 的今生前世

2013-03-01 14:14 by Clingingboy, 591 阅读, 收藏, 编辑
摘要: 转载: http://www.cnblogs.com/tekkaman/archive/2011/04/20/2022650.html 上文分析了ATL、MFC CString的设计和实现,我们不禁会疑问,为什么ATL和MFC的CString头文件要搅在一起? 上文的分析有些杂乱,我们通过一张图来更加清晰的观察,如下: 上图中,用圈圈住的头文件表示ATL头文件,没被圈的代表MFC头文... 阅读全文

Windows Event Log相关函数使用(1)

2013-03-01 14:10 by Clingingboy, 2820 阅读, 收藏, 编辑
摘要: 一.EvtOpenLog The EvtOpenLog function opens an exported or live event log and returns a handle that can be used to access the log. The returned handle can be used by subsequent calls to the EvtGetL... 阅读全文