C/C++
文章平均质量分 74
古沐风
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中程序运行时间的计算
在我们编写C++程序的时候,特别是在做算法测试的时候,这是就需要计算程序的运行时间,已测试程序效率的优劣。为此,以下我们就讨论几种方法。法一: 使用clock() C++程序运行时间中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:#ifndef_CLOCK_T_DEFINEDtypedeflong clock_t; #define _CLOCK_T_DEFINED#endif 这个函数返回从“开启这个程序进程”到“原创 2010-12-12 19:43:00 · 2101 阅读 · 1 评论 -
跟我一起学Windows界面封装(五) 之 封装第一个控件:按钮
Button是我们遇到的最多的控件之一,因此以它来作为入手控件还是很合适的。 通常我们见到的Button都是有窗口控件,当然也有很多优秀的库为了提高效率做成无窗口控件。所有有窗口和无窗口就是是否控件和一个HWND句柄相关联。我们还是以常规的有窗口控件来讲述下吧。 在CreateWindow函数的参数中,我们注意到还有几个的参数我们没用过,其中一个就是hWndParent原创 2013-04-26 22:31:48 · 1863 阅读 · 0 评论 -
跟我一起学Windows界面封装(四) 之 窗口过程函数(下) -- 奇妙的Thunk技术
本文是笔者参考多方资料,同时研究ATL源码后写的一些心得,因为在看源码时会出现很多点不懂,因此文章主要从这些小点出发而撰写,可能外人看来会有些语无伦次或者不够流畅,请见谅,不是计算机科班出身,才疏学浅,整理出来也只是希望将我所学能够和大家一起交流,其中也不免会出现理解错误,也请指正!Thunk技术 在窗口的过程函数中参数HWND和具体的窗口实例是一对一的关系,但HWND对我原创 2013-04-25 22:33:49 · 1693 阅读 · 0 评论 -
跟我一起学Windows界面封装(二) 之 前奏篇:显示第一个窗口
知道了如何用基本的windowsAPI创建一个窗口,但现实中我们不可能完全使用这种形式来完成一个复杂的窗口程序。为此,我们必须进行一定的封装。 封装必须要完成几件基本的事情:(1) 注册和创建窗口的封装;(2) 窗口过程函数的封装,因为窗口过程函数是一个全局函数,为了实现各种窗口的响应,我们必须实现窗口将每个窗口的消息分发给相应的窗口实例。这也是一个原创 2013-04-25 21:29:23 · 1517 阅读 · 0 评论 -
跟我一起学Windows界面封装(三) 之 前奏篇:窗口过程函数(上)
窗口过程函数 好,终于进入正题了。 在用MFC的时候,我们会发现MFC里面有消息映射,这么每个窗口类可以处理响应窗口消息,ATL也同样有自己的消息分发机制。由于窗口过程函数是全局函数(或静态函数),我们不可能吧一个程序的所有消息都在一个函数里面写,同时这个全局函数也没法和所有具体的窗口实例想绑定,即想调用具体类的成员函数都没办法实现,这样完成一个具有复杂功原创 2013-04-25 21:30:41 · 1373 阅读 · 0 评论 -
跟我一起学Windows界面封装(一) 之 基础篇:Win32 API
一、 初篇Win32应用程序可以分成两大类:控制台程序和Windows窗口界面程序。其中控制台程序的入口是main(或_tmain),而窗口界面程序的入口函数是WinMain(或_tWinMain)函数。在使用VS2010创建工程时我们也会看到Win32功能的两种类型:Win32 Console application和Win32 Project,后者就是我们将要讨论的窗口界面程序。原创 2013-04-25 09:15:36 · 4049 阅读 · 0 评论 -
走进SEH(Structured Exception Handling)
最近手头上工作比较轻松,于是继续充点电。本系列主要从核心编程里面学来,同时外加网上的搜集整理得来。文章主要以应用为主,所以对已经了解的人可能不会有太大帮助,但学习的总结分享出来总会有其用武之地。如发现内容表述有误,请指正。由于篇幅较长,为便于阅读故斩其首分上中下以述之~前言 SEH("Structured Exception Handling"),即结构化异常原创 2013-03-24 14:16:45 · 2151 阅读 · 0 评论 -
自定制vs插件--LearnVSXNow!-#6 创建我们第一个工具集-序幕
在前面的文章中,我们在向导的帮助下创建了一些小的VSPackages。在第五讲中我们整理了VSX的一些思路和概念,深入了解了packages是如何工作的以及服务的机制。在这篇文章中我们继续前进。 为了创建创建“容易编写和理解”的代码,从本文开始,我们开始创建一个工具集示例Package。我计划用至少如下三个主题来讨论: 序幕:创建示例package的第一部分,它是这个工具转载 2012-08-27 20:07:59 · 947 阅读 · 0 评论 -
自定制vs插件--LearnVSXNow!-#3 创建一个带有简单命令的Package
为了演示如何给我们的package增加功能,本篇将创建一个带有简单菜单(命令)的VS Package。和上一篇一样,我们新建一个Visual Studio Integration Package类型的项目,这一次我们把它命名为SimpleCommand。当项目向导出现后,我们选择C#做为开发语言,并利用向导为我们的程序集自动生成一个key文件。在VSPackage Information页面,转载 2012-08-27 20:04:19 · 740 阅读 · 0 评论 -
自定制vs插件--LearnVSXNow!-#7 创建我们第一个工具集-完成这个示例
在上一篇文章中,我们创建了一个例子:我们为一个空的package添加了一个菜单命令,并且在这个过程中了解了Visual Studio Command Table文件的作用和用法。 在这篇文章中,我们继续这个例子,手动为它添加一个工具窗。为项目添加工具窗 我们将创建如下图所示的工具窗: 这个工具窗的功能非常简单:在FirstArgEdit和Secon转载 2012-08-27 20:09:56 · 1098 阅读 · 0 评论 -
自定制vs插件--LearnVSXNow!-#5 VSX的基本概念
在前几篇文章中,我们只是通过创建和“分析”三个非常小的、由VSPackage向导生成的package来管中窥豹地见识了一下VSX。这些例子有助于我们熟悉创建小的package的基本步骤。但是,我们必须更深入一些, 看一下Visual Studo IDE是怎样工作的,以及它是怎样集成package的。 在我们涉及到其他细节之前,我们先要整理一下对VSX的认识。在本篇文章里,我们不会创建任转载 2012-08-27 20:06:43 · 805 阅读 · 0 评论 -
自定制vs插件--LearnVSXNow!-#4 创建一个带有工具窗的Package
上一次我们实现了一个带有命令(Command)的package,这一次让我们更进一步:创建一个被称为工具窗(Tool Window)的界面。那么,什么是工具窗呢?让我们想象一下:解决方案浏览器(Solution Explorer)、工具箱(Toolbox)、错误列表(Error List),它们都是工具窗(Tool Window)。 像前几篇一样,我们依然选择选择Visual Stu转载 2012-08-27 20:05:15 · 1217 阅读 · 0 评论 -
自定制VS插件(二)--LearnVSXNow!-#2 创建一个空的VS Package
作者:博客园出处:博客2010-03-16 08:10 打开Visual Studio 2008,新建项目,在项目类型对话框中选择“其他项目类型”/“扩展性”/Visual Studio Integration Package,如下图:(译者注:原文的图片无法打开,本系列的图是由译者另外截图的,并非原图) 如上图所示,我们把Framework的版本设为.N转载 2012-08-25 17:29:17 · 1233 阅读 · 0 评论 -
自定制VS插件(一)--LearnVSXNow! - #1: 如何开始VS扩展包(VSX/VS SDK)的编程?
(首先声明这个系列是翻译的DiveDeeper博文,是我在学习VS扩展包的过程中的顺带做的,如果有不明确的地方,请直接访问原文或者给我发邮件)我是一个Visual Studio的爱好者,一方面因为在我的日常工作中,Visual Studio是我最常用的开发工具。另一方面,Visual Studio是我用过的最好用的开发工具,尽管依旧有着一些恼人的莫名其妙的问题。有很多次,我都很想创建一些V转载 2012-08-25 17:24:26 · 921 阅读 · 0 评论 -
永久改变你写异常安全代码的方式(神奇的Loki::ScopeGuard)
<br />详见:http://blog.youkuaiyun.com/purewinter/archive/2007/11/01/1860875.aspx<br />原文:http://www.ddj.com/cpp/184403758转载 2011-03-13 09:39:00 · 475 阅读 · 0 评论 -
跟我一起学Windows界面封装(六) 之 模态对话框原理
在做界面程序的过程中,我们经常会遇到模态对话框(这个名词没必要在解释了吧,不懂就别看这篇文章了)。因此这点还是很有必要拿出来说明下的,不然不知道怎么实现,说不清其原理还是挺可悲的。 在windows中,使用DialogBoxParam显示的对话框就是模态的,ATL中也用了该函数进行了封装。虽然模态对话框在windows中很普遍,但是并没有SDK级别的API,可以将一个窗口变为模原创 2013-04-26 22:34:15 · 1484 阅读 · 0 评论
分享