自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(717)
  • 资源 (2)
  • 收藏
  • 关注

转载 为了积分而来

为了积分而来欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将...

2019-02-03 12:03:53 375

原创 linux 控制台文件颜色速记

linux控制台,不同类型的文件其颜色不同,怎么快速的记忆呢?可执行文件 绿色     绿植。压缩文件  红色        被压得面红耳赤。目录          蓝色         蓝色的眼睛链接         淡蓝色设备         黄色          黄(设)   ...

2019-02-03 11:30:02 464 1

转载 第一章 你到底做了多少无用功

第一章 你到底做了多少无用功      [ 分卷阅读 ]  努力不是机械重复和蛮干  从最重要的事情做起吧  清晰的奋斗目标比什么都重要第二章 找不到方法,“神马都是浮云”      [ 分卷阅读 ]  条条大路通罗马,这世上没有唯一的选择  不要懈怠你的工作态度  跟对人,就会做对事  你知道比才华重要的还有什么吗

2018-02-14 13:29:34 11605

转载 不要STUPID,坚持GRASP和SOLID

不要STUPID,坚持GRASP和SOLID听过SOLID编码吗?有人可能会说:这是描述设计原则的一个专业术语,由我们可爱的代码整洁之道传教者鲍勃(罗伯特C. 马丁)大叔提出,是一组用于指导我们如何写出“好代码”的原则。在编程界充满了这样由单词首字母组成的缩略词。其它类似的例子还有DRY(Don’t Repeat Yourself! 不要重复你自己!)和KISS(Kee

2013-04-21 23:30:29 918

转载 C++中如何在main()函数之前执行操作?

多玩YY语音的面试题:C++中如何在main()函数之前执行操作?           第一反应main()函数是所有函数执行的开始。但是问题是main()函数执行之前如何执行呢?           联想到MFC里面的 C**App类的theApp对象,其执行顺序就在main函数之前。道理相通,顺理推下,能够想到:如果在main函数之前声明一个类的全局的对象。那么其执行顺序,根据全局对象

2013-04-21 23:16:36 1639

转载 如何判断一个C++对象是否在堆栈上

如何判断一个C++对象是否在堆栈上昨天有人在QQ群里问到如何判断一个C++对象是否在堆栈上, 我在网上搜索了下, 搜到这个么一个CSDN的帖子http://topic.csdn.net/t/20060124/10/4532966.html ,可惜它也没有给出一个合适的答案。要解答这个问题,其实就是要知道的堆栈的起始地址, 而我们知道堆栈其实就是一段有相同属性的内存页面,而Windows

2013-01-28 00:31:30 1217

转载 常见体系结构介绍

常见体系结构介绍数据流系统概念:以算法和数据结构为中心, 像管道和过滤器般处理数据,每个组件都有相对独立的数据处理功能,数据依次经过各个组件,最后形成完整的数据处理系统。优点:各个组件都是独立的, 可以放方便的组合、重用和扩展,流水线式的执行,支持大规模并行处理。缺点:流水线式的处理, 所以一般要求数据有比较统一的输入和输出格式;各个组件都是独立的, 因此的很难提取共性;批处理

2013-01-28 00:28:50 972

转载 一个优秀windows C++程序员的知识体系

一个优秀windows C++程序员的知识体系思考一个优秀windows C++ 程序员该有哪些知识,可最终发现什么知识都不能少, 看下图:除了上面知识,程序员还要不断学习, 保持对新知识的热情。PS: 和同事讨论, 其他职业(比如司机或是厨师),他们只要学完基本的技能后就可以一劳永逸了,学的知识也比我们少的多,也不用担心新技术的更替。所以感觉程序员真的挺累,

2013-01-28 00:27:27 857

转载 richedit研究开篇01

richedit研究开篇01研究背景自职业生涯起到现在,我参与过三个im类产品,其中我主要负责的是界面库开发。众所周知,im软件中有一个非常重要的控件用于消息展示,实现方式无外乎基于richedit(目前这一类为主要方式,代表:QQ)、基于webbrowser(代表:GTalk),可能会有基于WebKit的,我没有刻意去搜集。很多时候对于相对简单的情况,比如在游戏中,完全可以自己绘

2012-12-13 17:32:43 851

转载 开源皮肤组件库FreeCL 2.03正式发布(2010.1.4)

开源皮肤组件库FreeCL 2.03正式发布(2010.1.4)2010-01-22 14:18 236人阅读 评论(1)收藏 举报FreeCL 2.03 已经发布,此版修正了以前版本中的Bug,功能也有所增强,尤其新增了较难实现的滚动条换肤功能。 FreeCL(Free Control Library)是一个开源且免费的Windows皮肤控件库,它属于3D图形引擎

2012-12-09 15:13:56 896

原创 delphi类没有注册

使用modi ,结果delphi7,delphi2006,delphixe3都出现类没有注册.跟踪发现对象创建了.dll模块也确实加载了.一到createvb6很正常.vc6也正常.有人说是因为没注册.regsvr32,注册了也没有用.有人说是因为com未初始化,初始化了也一样.可有人用delphi好像又正常.难道是因为导入生成的_tlb包装类有问题.

2012-12-07 02:13:27 3781

转载 虚拟析构函数 与释放内存是独立的

1。只有virtual member function,而没有virtual data member。virtual member function通过vtbl得以实现,这使得具有virtual member function的class之object负担额外的一个vptr。看个例子:class Base{public:   virtual void foo() {};

2012-11-27 10:46:57 629

转载 Win32 - 04 编码转换CRT版本

Win32 - 04 编码转换CRT版本分类: Win32编程 (2) Win32基础 2010-01-27 00:38171人阅读 评论(0)收藏 举报既然不同的平台有字符集的差别,那么在不同平台之间传递数据就需要进行“编码转换”。本例介绍了如何利用C标准库函数对UNICODE编码和ASCII编码进行转换,转换目标是将ASCII编码(或本地编码,例如GBK

2012-11-27 07:42:11 595

原创 谈面向对象的思维方式

变化与不变.应对变化之道.变化,修改,扩展更方便.不变的共性才可复用.越抽象越有共性,易复用,越具体越有差异.功能越单一越可复用.越稳定的越可复用.把复杂的地方分解提炼成类?易变的地方.资源:职责,你要完成职责,你拥有相应的权力以及资源,这些完全由你支配.     过程,你不独立拥有支配.资源,要么全局共享,要么作为参数临时借用.

2012-11-26 07:57:25 1312

转载 什么是面向对象的本质呢

什么是面向对象的本质呢?   万物皆对象?No  抽象?No  复用?No   那到底是什么呢?   万物皆对象。问了几位网友,这是答复之一。看到了某个事物就来一个class?显然没有那么简单。至少也要抽象一下呀。   抽象。比如一些文章里说,可以根据猫猫、狗狗抽象出来一个Animal出来,然后定义Cat,继承Animal,在定义Dog,也是继承Animal

2012-11-26 07:38:02 491

转载 如何写一个高质量的函数

如何写一个高质量的函数 错误处理在写一个可靠的系统程序里是一个非常关键的问题。当你在写一个函数时,请想到这个函数可能会被同一个应用程序进行无数次的调用。那么你想让这个函数的行为是什么样的呢?通常,当有错误发生时,函数不能自己肆意退出,而应该告诉调用者出现了什么样的错误,这样做就使调用者有机会去修复错误或者是以一种很完善的方式退出程序。 函数也不能以返回值之外的形式对进程状态

2012-11-26 06:08:42 672

转载 快速软件开发 学习笔记 之六

快速软件开发 学习笔记 之六第9章 Customer-oriented Development(面向客户软件开发)Customer(“客户”)这个词,是指花钱购买拟开发软件产品的人或负责验收软件产品的人。我们可以简单地把最终用户视为“客户”。在所有项目中,通过改善客户关系提高开发速度是一条普遍适用的原则。9.1 客户对于快速开发的重要性以下是在快速开发软件项目中需要花费精力

2012-11-25 19:12:29 713

转载 关注分离艺术

关注分离艺术  作者:不详译者:赵向阳(Abbott Zhao)2009/2/21 译者按:      作为一名软件架构师,我经常需要训练自己的抽象思维能力。需要忽略不关键的细节,从全局考虑问题。当一个事物摆在我面前时,我需要对它进行分析,抓住关键点,搞清楚边界关系;需要从不同的方面进行考虑—数据、行为、环境及其它潜在的隐藏点。我把软件架构的设计和构建当成一门艺

2012-11-25 19:08:01 1601 2

转载 面向对象之抽象方法

面向对象之抽象方法- Richard 时间@脚印- 博客园作者:未知   时间:2010-6-26 22:21:18 在面向对象过程中,知道对象是什么但是总感觉缺乏一种方法来实现面向对象。要实现面向对象就是要用抽象的方法来归纳对象类型,对象的属性和行为以及对象协作关系。抽象是具体到一般化的过程。目的是为了把概念和实现的分离以达到应对软件需求的变化的影响。抽象方法是面

2012-11-25 18:58:59 662

转载 抽象基类与接口,共性与个性的选择!

抽象基类与接口,共性与个性的选择!C#中的抽象基类(Abstract Class)和接口(Interface)都实现了面向对象中的继承机制,它们通过定义抽象方法匀实现了对继承类的功能上的约束,那么在如何在恰当的场景选择恰当的继承机制是我们在设计中经常会遇到的问题,我们先来对比两者之间的区别与联系。相同点 都可以被继承。 本身都不能被实例化 不同点 抽象类是一个不

2012-11-25 18:57:56 506

转载 面向对象的开发方法(Object Oriented,OO)

面向对象的开发方法(Object Oriented,OO)面向对象的开发方法(Object Oriented,OO)认为是好文章吧,拿来与大家分享一下(转载) 现在每个程序员都会说:OO思想,OO开发,呵呵,是真的理解了嘛?看看下面的文章就知道啦。。。面向对象的开发方法(Object Oriented,OO)     从事软件开发的工程师们常常有这样 的体会:在软件开发过程中,

2012-11-25 18:52:41 1699

转载 C++中RTTI的观念和使用 (2012-06-30 15:22)

C++中RTTI的观念和使用 (2012-06-30 15:22)标签: C++ RTTI 分类:C++下面这篇文章虽然有点老,但对C++的RTTI基本原理讲的比较透彻。该文章摘自UMLCHINA网站,是台湾一个群体写的,我根据大家比较熟悉的方式,修改了一些名词的说法,如衍生(派生)等,让大家可以方便的阅读。C++的 RTTI 观念和用途物泽C++应用小组

2012-11-25 18:01:00 561

转载 C++类模板的三种特化

C++类模板的三种特化 (2012-06-30 16:59)标签: 的 三 color style title 分类:C++原文:By SmartPtr(http://www.cppblog.com/SmartPtr/)说起C++的模板及模板特化, 相信很多人都很熟悉 ,但是说到模板特化的几种类型,相信了解的人就不是很多。我这里归纳了针对一个模板参数的类模板

2012-11-25 17:59:26 873

转载 让模板类支持可变模板参数

让模板类支持可变模板参数(不定个数的参数) (2012-06-30 17:03) 标签: C++ 可变参数 分类:C++原文:http://blog.csdn.net/bluedog/article/details/4715542现如今才正真发现c++模板的强大,模板的强大在于不需要使用RTTI机制可以传递参数的类型信息,不过也有其遗憾的地方,就是对于引用和复制,模

2012-11-25 17:58:17 540

转载 C++11(及现代C++风格)和快速迭代式开发

C++11(及现代C++风格)和快速迭代式开发c++exception输入法lambda语言pointers过去的一年我在微软亚洲研究院做输入法,我们的产品叫“英库拼音输入法” (下载Beta版),如果你用过“英库词典”(现已更名为必应词典),应该知道“英库”这个名字(实际上我们的核心开发团队也有很大一部分来源于英库团队的老成员)。整个项目是微软亚洲研究院的自然语言处理组、互联

2012-11-25 17:52:22 666

原创 OO抽象

oo 抽象 处理的对象 步骤 方法 结果创建 ,结构 ,行为.结构:分层,         嵌套结构.:装饰.         链式:责任链.核心层:便利性的封装层.复杂的东西.共性,个性.关注点分离. 输入输出与逻辑处理代码分离功能性需求,性能性需求.一次关注一个.为何不要过早不成熟的优化?

2012-11-25 16:50:36 533

转载 “条件递进式编程”技巧两例

“条件递进式编程”技巧两例什么是“条件递进式编程”?呵呵,这是我自己起的名字。所谓条件递进式编程,就是指需要一系列相关函数组合执行的情况下,后续函数执行的必要性由前面所有函数执行是否成功来决定。比如说,有一系列函数如下DoSomething1、DoSomething2、DoSomething3......DoSomethingN;DoSomething2函数执行的前提是DoSome

2012-11-25 09:19:28 479

原创 C++ 虚拟函数vs 回调函数 像有虚拟方法表一样有一个虚拟变量表就可以实现类级回调函数了

虚拟函数使得对象用同一个名字,调用不同函数.这种多态实现了某种概念的抽象.用回调也可以达到类似的效果,某种意义上,用回调更灵活.由于C++的类回调函数的强类型导致用起来不够灵活方便,这里的回调函数可以用Delegate代替.其实用回调是典型的使用聚合而不使用继承的思路.最典型的例子就是Thread类,通常的做法是写一个非虚拟的Run,调用虚拟的Excute.

2012-11-25 04:26:42 1410

转载 嵌入式的OS

Nucleus Plus这款嵌入式操作系统主要特征就是轻薄短小,其架构上的延展性,可以让Nucleus RTOS所占的储存空间压缩到仅有13K左右,而且Nucleus Plus是一款不需授权费的操作系统,并且提供了原始码。Nucleus Plus本身只是Acclerated Technology公司完整解决方案里面的其中一环,这个RTOS本身架构属于先占式多工设计,有超过95%的原始码是用

2012-11-24 19:56:06 775

转载 真正优秀的程序员有哪些与众不同之处?

真正优秀的程序员有哪些与众不同之处?作者: baiyuzhong 分类:每日关注,管理   阅读:6,828 次 添加评论“当你50岁时,还愿意编程吗?”这个话题在Hacker News上众说纷纭,不过我们能够看到,那些真正成功的程序员,如John Carmack、Peter Norvig、Jeff Dean,即使他们不再年轻,但依然对编程充满热情,他们身上有哪些与众不

2012-11-24 19:46:16 414

转载 优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案

优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案简介本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge。它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发送、接收、消息处理器的注册与调用以及设置消息处理的回调。就像项目的名称一样,它是连接UIWebView和Ja

2012-11-24 19:40:02 458

转载 C++中实现回调机制的几种方式

C++中实现回调机制的几种方式(1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型。比如下面的示例代码,我们在Download完成时需要触发一个通知外面的事件:typedef void (__stdcall *DownloadCallback)(const char

2012-11-24 15:02:00 508

转载 C++中模块(Dll)对外暴露接口的几种方式

C++中模块(Dll)对外暴露接口的几种方式总结下C++中模块(Dll)对外暴露接口的方式:(1)导出API函数的方式这种方式是Windows中调用DLL接口的最基本方式,GDI32.dll, User32.dll都是用这种方式对外暴露系统API的。这种方式的优点是导出函数没有语言限制,什么语言都能调用;缺点是这种方式是面向过程的,外部如果要支持多实例等不是很方便,另外它要

2012-11-24 15:00:48 1353

转载 C/C++中可变参数的原理

C/C++中可变参数的原理以前只是知道可变参数怎么用,但是一直对它的原理是似懂非懂,现在对计算机有了比较深刻的认识之后,回头再看,豁然开朗。要理解可变参数,首先要理解函数调用约定, 为什么只有__cdecl的调用约定支持可变参数,而__stdcall就不支持?实际上__cdecl和__stdcall函数参数都是从右到左入栈,它们的区别在于由谁来清栈,__cdecl由外部调用函数

2012-11-24 15:00:21 403

转载 探索C++对象模型

探索C++对象模型阅读本文前最好已经读过 理解程序内存 和 理解C++变量存储模型 相关的内容, C++对象模型比较经典的书是《深度探索C++对象模型》, 但是书本的知识始终局限在理论上,熟话说“纸上得来终觉浅”,只有我们自已用工具经过验证,我们才能真正的理解这些知识。下面我们用WinDbg为工具对C++对象模型进行探索。类对象实例究竟包含哪些东西我们的例子代码非常简单

2012-11-24 14:20:00 363

转载 OOP的黄昏

c++11中去掉了concept,go语言实现了.http://www.ddj.com/cpp/218600111;jsessionid=A3DTTZ4H5WD3EQSNDLRSKH0CJUNN2JVN?pgno=2范型这东西平时本来就很少会用到,除非写通用的库。concept对写库来说的确是好东西,但是这也不应该是在描述耦合,而是描述一种特征,STL对迭代器的特征判断是用的重载,但是

2012-11-24 14:14:53 630

转载 如何在程序中嵌入google的V8 Javascript引擎

如何在程序中嵌入google的V8 Javascript引擎让自己的程序支持脚本,尤其是支持JavaScript是件很有意思的事情的,下面是一个简单的Demo,通过google的V8引擎的来实现这个功能。我们Demo的JavaScript代码如下:function draw(dc){drawer.drawLine(dc, 0xFF, 5, 100, 100, 200,

2012-11-24 14:11:20 1203

转载 加框

一道考验你设计能力的C++编程题看到这道题,我们就开始设计这个图像类了,按照面向对象“依赖倒置”的设计原则,我们站在客户的立场,来考虑我们这个类该提供哪些接口,很快我们设计了如下一个类class CSimplePicture{public:CSimplePicture(char* init[], int nCount); CSimplePicture(CSimplePi

2012-11-24 14:09:57 862

转载 软命令接口的适用场合

软命令接口的适用场合    看到有些朋友很喜欢用软命令的方式来提供接口, 什么是软命令, 其实就是一个接口,根据参数的不同,可以实现N多的功能(我不知道"软命令"这名词是我原创还是现有的,我们暂时就这样称呼吧).    看看现实中有哪些产品已经成功应用了这种特性?    首先想到是的是windows窗口的消息处理函数,用C的方式是类似这样:    LRESULT Message

2012-11-24 14:02:34 795

转载 构建自己的C/C++插件开发框架

构建自己的C/C++插件开发框架zz——初步设想 最近一直在学习OSGI方面的知识。买了一本《OSGI原理和最佳实践》,可是还没有到。遗憾的是,OSGI目前的几个开源框架只支持Java,对C和C++都不支持的。可惜我们公司目前主要的开发语言还是c和c++,即便是引进OSGI,所得的好处范围有限。而我对松散耦合的模块化开发向往已久。查了一下OSGI对C++支持的好像是有一个开源项目,不过

2012-11-24 13:58:08 503

ASqlite3 Delphi xe 中文修改版

从盒子,csdn下了几个修改版本都有问题.有的 TASqlite3Table使用unicode正常,但 TASqlite3Query又不正常,有的反之. 花了一天.修改. procedure GetFieldInfo(FieldInfo: string; var FieldType: TFieldType; 设置数据 procedure TASQLite3BaseQuery.SetFieldData(Field: TField; Buffer: Pointer); function TASQLite3DB.SQLite3_ExecSQL(TheStatement: string; Fields : TFields): integer; 具体修改说明可以参见 http://www.360doc.com/showweb/0/0/319640034.aspx. 测试 TASqlite3Table,TASqlite3Query使用unicode正常, 中文模糊查询,中文路径正常.

2013-10-08

ECMAScript概述

javascript原理:简明易懂 闭包 原型链 作用域链 函数对象 VO

2012-08-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除