- 博客(32)
- 资源 (8)
- 收藏
- 关注
翻译 VS2008中的一些命令窗口
网上找到的,先存起来,备以后使用VS2008中的一些命令窗口视图----其它窗口----命令窗口先启动调试,然后输入下面的别名关于更多的命令:命令名别名完整名称打印?调试打印快速监视??调试.快速监视添加新项目AddProj文件.添加新项目别名Alias工具.
2013-07-30 23:50:43 1079
翻译 11个高效的VS调试技巧
介绍调试是软件开发周期中的一个很重要的部分,有时很有挑战性,有时候则让程序员迷惑,有时候让程序员发疯,但是。可以肯定的是,对于任何不是太那个微不足道的程序来说,调试是不可避免的。近年来,调试工具的发展已经使得很多调试任务简单省时了。 本文总结了十个调试技巧,当你使用VS的时候可以节省你很多时间。1.悬停鼠标查看表达式调试有时候很有挑战性,当你步入一个
2013-07-30 23:43:41 728
转载 #pragma warning(disable:4996)
今天读程序遇到了这句话,第一次看见。在网上搜到了如下资料:1. #pragma warning只对当前文件有效(对于.h,对包含它的cpp也是有效的),而不是对整个工程的所有文件有效。当该文件编译结束,设置也就失去作用。2. #pragma warning(push) 存储当前报警设置。 #pragma warning(push, n)
2013-07-30 14:13:36 7293 1
转载 回调函数和函数指针
最近在看代码,写代码的人很喜欢用回调函数和函数指针。一直觉得回调函数和函数指针挺神秘的,所以查了一些资料,来与大家一起来分享。什么是回调函数简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。为什么要使用回调函数 因为使用回调函数可以把调用者和被调用者分
2013-07-25 16:33:25 640
转载 __cdecl __stdcall区别
最大的区别就是__cdecl是由调用函数者释放堆栈,而__stdcall由被调用者释放。但是我们在调用任一种函数时,都没有进行显示的释放堆栈工作。这个工作由编译器完成,它帮我们生成了这个中间要使用的代码。 以下系转载: 在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用r
2013-07-24 11:00:55 604
转载 MFC全局函数::AfxBeginThread
函数功能描述:创建新的线程函数原型:CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority =THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRI
2013-07-19 16:41:50 925
转载 CreateEvent的用法
多线程编程的关键是线程同步。在windows环境下,实现线程同步分为用户环境下的线程同步和使用内核对象实现线程同步两类。而使用内核对象实现线程同步有多种方法,例如信号量机制、event机制等。本文介绍event机制的使用方法。首先,介绍相关API。函数原型:HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEven
2013-07-19 16:19:05 1457
转载 WaitForMultipleObjects使用详解
[c-sharp] view plaincopyDWORD WaitForMultipleObjects( DWORD nCount, // number of handles in the handle array CONST HANDLE *lpHandles, // pointer to the object-ha
2013-07-19 16:15:56 921
转载 CreateWaitableTimer与SetWaitableTimer详解
可等待定时器问题:1. 需要的函数:CreateWaitableTimer,SetWaitableTimer.前者创建一个可等待定时器句柄,后者设置等待定时器触发的条件.我们可以多次调用SetWaitableTimer来重置可等待定时器.重置后之前的定时器将关闭.2. 主要看两段代码:代码一:(这段代码在网上出现的概率是较大的)[cpp] view pl
2013-07-19 16:14:16 2499
翻译 为什么谷歌要执行严格的代码编写规范
本篇是谷歌是如何做代码审查的的续篇。我们在谷歌所做事情中另外一个让我感到异常有效、有用的制度是严格的编码规范。在到Google工作之前,我一直认为编码规范没有什么用处。我坚信这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率的东西。我是大错特错了。在谷歌,我可以查看任何的代码,进入所有谷歌的代码库,我有权查看它们。事实上,这种权限是很少人能拥有
2013-07-14 23:34:30 981
转载 设计模式C++实现(9)——享元模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍享元模式的实现。 举个
2013-07-14 19:14:32 637
转载 设计模式C++实现(8)——代理模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍代理模式的实现。 [D
2013-07-14 19:07:51 689
转载 设计模式C++实现(7)——外观模式、组合模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍外观模式和组合模式的实现。
2013-07-14 19:01:00 775
转载 设计模式C++实现(6)——建造者模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍建造者模式的实现。 建造
2013-07-14 18:49:37 751
转载 设计模式C++实现(5)——原型模式、模板方法模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍原型模式和模板方法模式的实现。首先介绍原型模
2013-07-14 18:44:57 757
转载 设计模式C++实现(4)——单例模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍单例模式的实现。 单例的一
2013-07-13 21:36:07 707
转载 设计模式C++实现(3)——适配器模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍适配器模式的实现。 D
2013-07-13 18:19:33 847
转载 设计模式C++实现(2)——策略模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍策略模式的实现。 策略模式是指定
2013-07-13 18:08:02 679
转载 设计模式C++实现(1)——工厂模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。 工厂模式属于创
2013-07-12 23:10:10 1002
转载 屏幕刷新问题解决方法总结
在MFC中经常遇到屏幕刷新的问题,下面是几种解决方法。 1,刷新整个程序区域,有明显的闪烁情况 Invalidate( TRUE ); UpdateWindow(); 2,刷新指定区域,该区域有闪烁情况,不过比上一种方法要好多了。 InvalidateRect( &m_rect, TRUE 0); UpdateWindow(); 3,还有
2013-07-11 19:41:07 2652
翻译 编码风格不是编码规范
我并不认为程序员是一个情绪特别丰富的群体。但有一些事情却能很容易刺激程序员的神经,那就是代码格式和布局。如果看到一个函数的括弧在同一行上没有闭合,我的眼睛会喷血。如果看到有人没有恰好的在两个函数间留一空行,我的小腿会抽筋。但重点在这里——除非是在家里开发自己的业余爱好软件,我的这些个人喜好其实是无关紧要的。同样,作为一个团队中的一员,你的个人编程喜好也应该放到一边。编码风格很容易会和编码规
2013-07-10 19:33:41 788
翻译 白话MSDN:从普通DLL中导出C++类(2) – 细看导出C++类的底
从普通DLL中导出C++类(2) – 细看导出C++类的底层机制上一篇文章中,我们介绍了怎么从一个DLL中导出C++类,及选择性导出C++类的成员的方法。那么,整个系统的底层机制是怎么样的?是通过什么途径,使得我们可以在另一个程序中使用一个DLL中导出的类的呢?我们知道,要使用一个C++类,必要的条件是在编译期能得到这个类的头文件,并在链接期可以找到对应的符号的链接地址(比如成员函数、静态
2013-07-09 23:52:31 685
翻译 白话MSDN:从普通DLL中导出C++类(1) – dllexport和dllimport的使用方法(中英对照、附注解)
Balon白话MSDN:从普通DLL中导出C++类(1) – dllexport和dllimport的使用方法(中英对照、附注解)这几天写几个小程序练手,在准备将一个类导出时,发现还真不知道如果不用MFC的扩展DLL,是怎么导出的。但我知道dllexport可以导出函数和变量,而且MFC扩展DLL就算是使用了MFC的功能,但能否导出类应该也不是必须用MFC才能够做到,一定是有相应的机制可以
2013-07-09 23:51:14 1046
转载 深入体会__cdecl与__stdcall
在学习C++的过程中时常碰到WINAPI或者CALLBACK这样的调用约定,每每觉得十分迷惑。究竟这些东西有什么用?不用他们又会不会有问题?经过在网上的一番搜寻以及自己动手后,整理成以下的学习笔记。1.WINAPI与CALLBACK 其实这两者在Windows下是相同的,在windef.h中定义如下:#ifdef _MAC#define CALLBACK P
2013-07-09 23:24:16 898
转载 WaitForMultipleObjects使用详解
[c-sharp] view plaincopyDWORD WaitForMultipleObjects( DWORD nCount, // number of handles in the handle array CONST HANDLE *lpHandles, // pointer to the object-ha
2013-07-09 11:54:59 821
转载 dll的概念、dll导出类(转)
1、 DLL的概念DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。静态链接库与动态链接库的区别: (1)静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸
2013-07-08 14:35:53 720
翻译 程序员不应该再犯的五大编程错误
程序员经验分享编程摘要:本文总结了程序员经常犯的五大错误,尤其是初学者。在编程的道路上,犯错也是学习道路上不可或缺的一部分,但一旦意识到某种错误的发生,就应该想办法避免,这样,代码就会越来越好,自己也会得到成长。当你成为程序员后,你很容犯下文所提到的这些错误。话说失败是成功之母,在编程的道路上,犯错也是学习道路上不可或缺的一部分。尤其是初学者,他们犯的错误可能会比其他人
2013-07-08 13:59:17 661
转载 EOF是什么?
我学习C语言的时候,遇到的一个问题就是EOF。它是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。比如,下面这段代码就表示,如果不是文件结尾,就把文件的内容复制到屏幕上。 int c; while ((c = fgetc(fp)) != EOF) {
2013-07-07 12:19:54 820
翻译 Facebook的标语
1.Done is better than perfect.比完美更重要的是完成。2.Code wins arguments.代码赢得争论。3.Move fast and break things.快速行动,破除陈规。4.Stay focused and keep shipping.保持
2013-07-07 12:09:13 1148
转载 面向对象OO
使用面向对象方法和技术是为了更敏捷的响应客户需求,使得软件更易于维护和拓展。面向对象思维和面向数据库思维主要区别是:前者以动态思维来看待事物,注重对象内部属性状态和引起状态变化的一致性;而后者以静态思维看待事物,只是记录事实的最后状态。 很多人使用了很长时间的Java如Spring Hibernate,但基本还是基于数据库编程,使用SQL语句实现存储和计算查询,业务核心严重依赖关系数据库,最
2013-07-05 13:00:24 1088
转载 Visual Studio 调试小技巧-从查看窗口得到更多信息
在使用Visual Studio开发调试程序时,我们经常需要打开查看窗口(Watch)来分析变量。有时在查看窗口显示的内容不是很直观。为了能从查看窗口的变量中得到更多的信息,我们需要一些小的技巧。下面是几个例子。1. Windows消息在开发调试界面程序时,我们经常需要查看消息的内容。当在查看窗口中,仅仅只显示出消息对应的整数值,我们并不能直观地知道究竟是什么消息。比如: 为了
2013-07-04 19:12:33 1359
翻译 注重实效的程序员(The Pragmatic Programmer)
注重实效的程序员(The Pragmatic Programmer)推荐一本好书 《The Pragmatic Programmer - From journeyman to master》 1、关心你的技艺 Care About Your Craft 除非你在乎能否漂亮地开发出软件,否则其它事情都是没有意义的。2、思考!你的工作 Think!About You
2013-07-02 23:15:46 928
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人