代码改变世界

随笔分类 - Visual C++

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

2014-01-14 18:34 by Clingingboy, 959 阅读, 收藏, 编辑
摘要: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, 519 阅读, 收藏, 编辑
摘要: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, 286 阅读, 收藏, 编辑
摘要:翻墙不易,转载 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, 419 阅读, 收藏, 编辑
摘要:转载:http://blog.csdn.net/jianlizhao66/article/details/1480457 我们获得了每个字形的宽度数组piAdvances,以及这个RUN所占用的总宽度abc。 piVdvances对应于每个字符,它取得了每个字形所占用宽度。 如果我们以行为单位来绘制文字,我们可以以一个循环来取得每个RUN的宽度信息,并一直相加,假设我们己取得了一些ru... 阅读全文

codepage IMLangCodePages

2013-12-02 14:47 by Clingingboy, 193 阅读, 收藏, 编辑
摘要: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, 736 阅读, 收藏, 编辑
摘要:一.真窗体和假窗体 首先在DirectWindow内部创建一个真窗体(基于WTL),可以接收消息 class CMessageWindow : public CWindowImpl{public: CMessageWindow(); ~CMessageWindow(); BEGIN_MSG_MAP( CMessageWindow ) MESSAGE_RAN... 阅读全文

VC++ 使用attributes定义接口

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

windbg调试命令

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

空指针赋值分区

2013-03-20 10:56 by Clingingboy, 567 阅读, 收藏, 编辑
摘要:转: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, 167 阅读, 收藏, 编辑
摘要:一.联合体可以使用模板 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, 187 阅读, 收藏, 编辑
摘要:一.”类模板”还是“模板类” 简单理解: 声明的类为“类模板” 被实例化出来的类叫“模板类” 二.实例化和特化 实例化是一个产生模板类(或函数)的一个过程 通过实例化获得的实体就是特化 特化分两种:显示特化和偏特化 三.声明和定义(declaration and definition) 参考:http://zhidao.baidu.com/que... 阅读全文

RegisterWaitForSingleObject的使用

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

GlobalAlloc,GlobalFree,GlobalReAlloc

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

VirtualProtect、VirtualLock、VirtualUnlock

2013-03-07 13:31 by Clingingboy, 389 阅读, 收藏, 编辑
摘要:转: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, 127 阅读, 收藏, 编辑
摘要:Task Manager跟Performance Monitor的区别(Working set和Private bytes) 你真的懂任务管理器中有关内存的参数Private(提交大小)和working set(工作设置)吗? 阅读全文

ATL、MFC、WTL CString 的今生前世

2013-03-01 14:14 by Clingingboy, 335 阅读, 收藏, 编辑
摘要:转载: 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, 2012 阅读, 收藏, 编辑
摘要:一.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... 阅读全文

ETW相关函数参考(1)

2013-02-28 12:01 by Clingingboy, 464 阅读, 收藏, 编辑
摘要:一.QueryAllTraces ULONGWMIAPIQueryAllTracesW( __out_ecount(PropertyArrayCount) PEVENT_TRACE_PROPERTIES *PropertyArray, __in ULONG PropertyArrayCount, __out PULONG LoggerCount );The Que... 阅读全文

msvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义

2013-02-26 13:38 by Clingingboy, 199 阅读, 收藏, 编辑
摘要:转载 很需要补充的知识。 可惜网络阅读一直不是强项。 目前实在有点看不进去。 先保存下来吧。。。 牛到连评论都是贼深奥滴! 很久没有写程式设计入门知识的相关文章了,这篇文章要来谈谈程式库 (Library) 连结,以及关于 MSVC 与 CRT 之间的种种恩怨情仇。 如果你使用的作业系统是 Linux、Mac 或其他非 Windows 平台,你可以忽略这篇文章;如果你使用的作业系统是 W... 阅读全文

Windows访问令牌相关使用方法

2013-02-22 10:52 by Clingingboy, 3070 阅读, 收藏, 编辑
摘要:一.OpenProcessToken 打开进程访问令牌 WINADVAPIBOOLWINAPIOpenProcessToken ( __in HANDLE ProcessHandle, __in DWORD DesiredAccess, __deref_out PHANDLE TokenHandle );二.GetTokenInform... 阅读全文

ETW写事件基础步骤

2013-02-19 22:06 by Clingingboy, 1224 阅读, 收藏, 编辑
摘要:一.调用EventRegister注册一个REGHANDLE DWORD status = ERROR_SUCCESS;REGHANDLE RegistrationHandle = NULL; status = EventRegister( &ProviderGuid, // GUID that identifies the provider NULL, ... 阅读全文

ETW参考资源

2013-02-17 00:02 by Clingingboy, 297 阅读, 收藏, 编辑
摘要:Core OS Events in Windows 7, Part 1Core Instrumentation Events in Windows 7, Part 2使用 ETW 改善调试和性能优化VS2010与Win7共舞:ETW自定义程序日志Event Logging 技术简介Event LoggingEventLog 组件介绍微软Xperf使用手册:监控Windows性能新方案Windows Performance Toolkit - Xperf玩转微软官方性能分析工具xperf,追查Vista开机慢之根源关于win7的预取的研究Using WEVTUTIL to Manage Even 阅读全文

Windows系统进程介绍

2013-01-29 20:47 by Clingingboy, 118 阅读, 收藏, 编辑
摘要:http://mtoou.info/smss-exe/ 阅读全文

关于c语言的赋值和memcpy的问题

2013-01-18 13:52 by Clingingboy, 211 阅读, 收藏, 编辑
摘要:参考链接: http://bbs.chinaunix.net/thread-1651407-2-1.html http://www.cnblogs.com/qyaizs/articles/2039101.html 貌似感觉是一样的 代码示例: template<typename T, bool PODType> class ListStore abst... 阅读全文

Win32 API (2013/1/17)

2013-01-17 14:41 by Clingingboy, 681 阅读, 收藏, 编辑
摘要:一.WM_MOUSEMOVE消息 wParam Indicates whether various virtual keys are down. This parameter can be one or more of the following values. MK_CONTROLThe CTRL key is down. MK_LBUTTONThe left mouse button i... 阅读全文

Win32 API (2012/11/4)

2012-11-04 13:45 by Clingingboy, 284 阅读, 收藏, 编辑
摘要:一.HiliteMenuItem The HiliteMenuItem function highlights or removes the highlighting from an item in a menu bar. 就是这种状态 Menu API的设计原则都是父项负责对子项的操作 二.菜单状态 UINT uState=pSubMenu->GetMenuState(ID... 阅读全文