harbinzju
码龄15年
  • 1,110,091
    被访问
  • 85
    原创
  • 1,508,568
    排名
  • 320
    粉丝
  • 0
    铁粉
关注
提问 私信
  • 加入CSDN时间: 2007-11-16
博客简介:

做一个优雅的程序员

博客描述:
目标:富有专长 多才多艺
查看详细资料
个人成就
  • 获得82次点赞
  • 内容获得122次评论
  • 获得213次收藏
创作历程
  • 12篇
    2013年
  • 48篇
    2012年
  • 82篇
    2011年
  • 83篇
    2010年
成就勋章
TA的专栏
  • C++基础
    52篇
  • COM编程
    17篇
  • Windows编程
    83篇
  • 算法与数据结构
    9篇
  • 网络编程
    19篇
  • 职场话题
    17篇
  • 面试题目
    25篇
  • Python开发
    9篇
  • Linux
    1篇
  • GUI
    4篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Detours使用说明

Detours使用说明 1 介绍2 Detours API hook2.1 hook DLL 中的函数2.2 hook自定义c 函数2.3 hook类成员函数2.4 DetourCreateProcessWithDll2.5 Detouring by Address 1 介绍  Api hook包括两部分:api调用的截取和api函数的重定向。通过api
转载
发布博客 2013.12.05 ·
3821 阅读 ·
0 点赞 ·
0 评论

C++接口的设计——析构函数

接口不应该有实体函数,即接口的所有函数都应该是公共的纯虚函数。不过析构函数应该不应该是纯虚函数呢?如果是非纯虚的虚函数,那函数体要写什么呢?答案是什么都不写,内容为空的函数很不简洁,不爽。那就设置成纯虚函数,很遗憾,编译通不过,因为子类会调用父类的析构函数,父类析构函数指针不应该为空。那就考虑设置成普通函数吧,还可以省去声明,因为C++默认实现析构函数!一个显而易见的问题,当delete接口时只是
转载
发布博客 2013.11.15 ·
4827 阅读 ·
1 点赞 ·
1 评论

做一个优雅的程序员—《程序员修炼之道》读后感

之前读过的一本书,摘录些内容和感想和大家分享。这本书英文名字是:《The Pragmatic Programmer》,译名为《程序员修炼之道》,直译为《注重实效的程序员》。这是一本讲编程哲学的书,内容覆盖非常广泛但又言简意赅,300页的篇幅可谓全部是浓缩的精华。不知道你读过以后会不会像我一样顿觉相见恨晚、想一读再读?
原创
发布博客 2013.10.07 ·
9634 阅读 ·
3 点赞 ·
3 评论

你真的懂任务管理器中有关内存的参数Private(提交大小)和working set(工作设置)吗?

任务管理器中跟内存相关有两个重要的指标Private(提交大小)和working set(工作设置)。如下图所示:这两个指标在process explorer中叫做Private Bytes和Working Set。而在VMMap中,他们则分别被叫做Private和Total Working Set。我这里也用Private和working set来称呼他们。
转载
发布博客 2013.09.17 ·
4226 阅读 ·
0 点赞 ·
0 评论

浅学设计模式之简单工厂模式、工厂模式、抽象工厂模式

原文:http://blog.csdn.net/lilu_leo/article/details/7592678一、简单工厂        从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是
转载
发布博客 2013.09.17 ·
3455 阅读 ·
0 点赞 ·
0 评论

【深入QT】信号槽机制浅析

一、信号槽的基本概念关于QT信号槽的基本概念大家都懂,通过信号槽机制,QT使对象间的通信变得非常简单:A对象声明信号(signal),B对象实现与之参数相匹配的槽(slot),通过调用connect进行连接,合适的时机A对象使用emit把信号带上参数发射出去,B对象的槽会就接收到响应。 信号槽机制有一些特点:1.   类型安全:只有参数匹配的信号与槽才可以连接成功(信号的参数可
原创
发布博客 2013.09.01 ·
25941 阅读 ·
1 点赞 ·
2 评论

指定Webbrowser控件所用IE内核版本

如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容。解决方法是在注册表中为你的进程指定引用IE的版本号。比如我的程序叫做a.exe对于32位程序HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROW
转载
发布博客 2013.06.28 ·
37383 阅读 ·
1 点赞 ·
7 评论

在C++中用C#风格设置类的属性值

想要实现的效果就是如下这样获取和设置类的属性:class A{private: int x;};A a;a.x = 1;int b = a.x;借助VC编译器所支持的属性声明即可实现:__declspec( property (put=setFunction, get=getFunction) ) data-type property-name; 通
原创
发布博客 2013.05.16 ·
2726 阅读 ·
0 点赞 ·
0 评论

实现类非静态成员函数做窗口过程函数

实现类非静态成员函数做窗口过程函数,无非是想办法把类对象指针传递给窗口过程。最简单的办法是使用全局变量,在很多场景下是快捷有效的办法。这里介绍的办法是借助::SetWindowLong(hWnd, GWL_USERDATA, (LONG)pWindow)调用,把类指针传递给窗口。在窗口过程函数中再调用 GetWindowLong来获取出来使用。通过CreateWindowEx最后一
原创
发布博客 2013.04.16 ·
3570 阅读 ·
0 点赞 ·
0 评论

对话框窗口过程与普通窗口过程的区别

对话框窗口是指通过CreateDialog,DialogBox 这些API创建的窗口,其中DLGPROC与普通窗口有一些区别。HWND WINAPI CreateDialog( _In_opt_  HINSTANCE hInstance, _In_      LPCTSTR lpTemplate, _In_opt_  HWND hWndParent, _In_opt_  D
原创
发布博客 2013.04.16 ·
5187 阅读 ·
0 点赞 ·
0 评论

public private 和protected 继承

在C++中继承主要有三种关系:public、protected和private。这三种继承关系中public继承是最为常用的一种继承关系,private继承是最少见的继承关系。1. public从语义角度上来说,public继承是一种接口继承,根据面向对象中的关系而言就是,派生类可以代替基类完成基类接口所声明的行为,也就是必须符合“Liskov替换原则(LSP)”,此时派生类可以自动转
转载
发布博客 2013.02.06 ·
2622 阅读 ·
0 点赞 ·
0 评论

C#技术漫谈之垃圾回收机制(GC)

原文地址:http://kb.cnblogs.com/page/106720/摘要:今天我们漫谈C#中的垃圾回收机制,本文将从垃圾回收机制的原理讲起,希望对大家有所帮助。  GC的前世与今生  虽然本文是以.NET作为目标来讲述GC,但是GC的概念并非才诞生不久。早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功
转载
发布博客 2013.01.04 ·
2546 阅读 ·
0 点赞 ·
0 评论

[cpp-netlib]自行处理chunked编码的回包

使用下面这个函数代替原body函数。std::string chunked_body(boost::network::http::client::response& response){ std::string body; std::string partial_parsed = boost::network::http::body(response); auto t
原创
发布博客 2012.12.29 ·
3553 阅读 ·
0 点赞 ·
0 评论

[cpp-netlib]如何发送post请求

int CHttpFetch::Post(const CString& strURL, const CString& strContent, CString& strResponse){ int nStatus = 200; try { http::client::request request(StringUtility::CStr2Stl(strUR
原创
发布博客 2012.12.29 ·
5729 阅读 ·
0 点赞 ·
0 评论

23种设计模式及解释(中英文对照)

设计模式是每个程序员的必修课,这里将23种模式整理在一起,想学习这方面知识的朋友们有福了,呵呵。Singleton Pattern(单例模式):Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)
转载
发布博客 2012.11.24 ·
3042 阅读 ·
0 点赞 ·
0 评论

C++转向C#的疑惑:难道C#中没有拷贝构造函数 ?

不可否认,C++在过去十年乃至现在一直都是windows平台上的主流开发语言,而来势凶猛的.NET势必开辟一个崭新的局面,从目前的种种迹象来看,.NET是大势所趋,而C#作为.NET平台上的第一开发语言自然备受关注,于是有很多程序员纷纷转向C#,这其中当然不乏C++程序员。情况往往是这样,从一种语言过渡到另一种语言,哪怕是比较相似的语言,程序员也经常无意识地陷入原开发语言的思维定势,这样的结果通常
转载
发布博客 2012.11.23 ·
3032 阅读 ·
0 点赞 ·
1 评论

在Visual Studio中使用VMWare插件进行远程调试

远程调试大家都不陌生,连接到虚拟机调试也大同小异。连接虚拟机是因为有些Bug只在XP机器上出现,在Win8的开发机上无法进行调试。这里要介绍的是用VMWare(9.0版本)自带的VS插件来简化整个调试过程。下图就是VMWare插件,按钮功能包括Debug,Attach等,最右的扳手是设置虚拟机。 在VMWare中配置虚拟机(XP系统)1.   创建新管理员账号,用户名密码和主机相同
原创
发布博客 2012.11.17 ·
12840 阅读 ·
0 点赞 ·
0 评论

什么是窗口子类化

如果你曾经在 Windows 环境下编过程序,有时候就会发现:有一个现成的窗口,几乎有你所需要的全部功能,但还不完全一样。如果你需要一个具有过滤特殊字符功能的 Edit 控件。当然最直接的方法就是自己用代码来实现,但这的确是一个费时又很困难的任务,而子类化就可以用来做这种事情。   子类化允许你接管被子类化的窗口,使你对它有绝对的控制权。举个例子了来阐明一下:例如你需要一个只接受十
转载
发布博客 2012.11.15 ·
3392 阅读 ·
0 点赞 ·
0 评论

VBScript脚本无法运行的解决方案

原文:http://www.cppblog.com/Streamlet/archive/2012/10/25/193835.html 感谢溪流漫话的投递现象——运行任何 .vbs 脚本,Windows Script Host 提示 找不到脚本“xxx.vbs”的脚本引擎“VBScript”。网页中的 vbscript 脚本无响应,也无任何报错。
转载
发布博客 2012.10.25 ·
9912 阅读 ·
0 点赞 ·
0 评论

IE保护模式下ActiveX控件打不开共享内存的解决方案

原文:http://www.cppblog.com/Streamlet/archive/2012/10/25/193831.html 感谢溪流漫话的投递IE保护模式下,ActiveX控件会打不开别的进程创建的共享内存,原因是IE运行在低完整性级别权限下,一般应用程序运行在中完整性级别。别的应用程序创建的共享内存,即使赋予Everyone权限,ActiveX控件仍然会打不开。解决方案
转载
发布博客 2012.10.25 ·
4316 阅读 ·
0 点赞 ·
0 评论
加载更多