自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

人生如旅

除了疲惫收获的是一路风景

  • 博客(353)
  • 资源 (1)
  • 收藏
  • 关注

原创 点儿背不能怨社会

记得上大学的时候有一次系里举办乒乓球比赛,本来感觉在班里也是数一数二的,也就报了名。淘汰塞,第一场就输了,很惨,有点儿郁闷,但也不是坏事儿,说明乒乓球高手真是太多了,结果那哥们儿拿了冠军。 前些天又参加联通的“乒临城下”乒乓球比赛,第一场又是输得很惨,回来之后查了一下对手,原来是北京队的种子选手,马龙的队友,由于各方面后来马龙进了国家了,他没有进。也是算专业运动员了吧,输了也没什么丢人,何况参加比赛前都很久没有打球了。  我们组除了这位专业选手,还有一位比较特别的,他用的拍是自制的,比正常的拍小一圈。

2010-08-22 13:01:00 917

原创 郑州洪水

这一年多来也记不清到底往郑州跑了几趟了,遇到下雨趟水也趟好几回了,还没有见过今天这么大的水。火车站的出租车都停着不走,原来南站口的水已经把汽车的冒烟筒给盖着了,不小心就会被淹掉的。打出租车肯定打不到了,只能坐公交,坐了一段儿才发现一路上全是水,所有的路都在堵车。 到了经三路该倒车了,但下了车发现情况更糟,经三路的车几乎都不会动,从金水路往北走越走越深。开始我的运动鞋不敢下水,还绕着走,可走了一段儿实在没有路可绕了,只能脱鞋下水,还好我是短裤。可遗憾的是到了枣庄发现短裤也不行了,眼看就要到了,可还是晚节不保

2010-08-09 13:01:00 4208

原创 Ubuntu打造工作环境

1. 操作系统 Ubuntu 10.04,装完基本什么驱动都有了,无需费心 2. Office 自带的OpenOffice基本不能用,与MS Office的兼容性实在在差了 永中Office号称兼容性较强,应该是免强能用吧,反正我用起来挺难,仍然不好用,可以说基本不可用 Red Office还没下完测试版,到时再说 为了完美兼容,只能装MS Office了,在Linux上也不是不可能 步骤: 1) 安装 Wine apt-get install wine

2010-07-31 13:00:00 1043 1

原创 C++ ostream与printf比较

这两天与一位网友就C++流与printf函数的问题吵了两天,有点儿火药味儿(http://www.cppblog.com/converse/archive/2010/07/06/119427.html),其实我是对他一个大标题“C++的流设计很糟糕”,是比较生气的,这么多年还没有谁敢对C++的标准库如此出言不逊。我还使用百度跟GOOGLE验证了这一点,把“C++ 流 糟糕”三个关键词放在一起,GOOGLE与百度出奇一致的结果就是头条就是上面链接那博文了。 C++标准库,可以说为了保证其通用性和效率,真

2010-07-09 12:58:00 3243

原创 再见,重庆

半年后又来到了重庆,来了五天,加了五天的班,明天就飞回郑州了。两次在这儿加一起都呆了一个多月了,回想一下,感觉这个城市还是不错的,也有它的特点。 重庆的自行车很少见。当然,也有骑车的,基本都是单车爱好者,因为一般人上上下下的体力肯定受不了。跟郑州比自行车数量来,那郑州简直是天文数字。 汽车排量比较大,而且SUV的比例比较大。原因很简单,1.3L以下排量的车,基本没办法在这个山城正常行驶。但还是看见有底盘很低的跑车,不过不用担心它的通过性,重庆的公路还是比较平整的,一般的路况也不会为难它。 出租车、公交

2010-07-07 12:58:00 1968

原创 WebBrowser控件跨域访问页面内容

这几天拔测联通的业务系统,可以好好折腾了一阵,这四五天连周末全都加班了,终于搞定了,也总结一下WebBrowser的使用感受。 一开始想省事,就用了System.Windows.Forms.WebBrowser,后来发现问题越来越多,只能不断扩展增加功能,最头疼的就是跨域访问了。 1. 开始使用一网友提示的重载IInternetSecurityManager接口,即重载WebBrowser的方法: protected override WebBrowserSiteBase CreateWebBrow

2010-07-06 12:57:00 6494 8

转载 UI 设计你需要自问的 10 个问题

摘自:http://www.cnbeta.com/articles/115415.htm 1. 你的 UI 是否高度一致? 2.用户能自由掌控自己的操作吗?网站是否容易导航。 3.你知道谁是你的用户群吗? 4.你是否有足够的预防错误的措施? 5.你的设计是否简约? 6.你是否使用了视觉提示? 7.你的 UI 是否有操作提示? 8. 你的内容是否清晰? 9. 你如何使用色彩? 10. 你的 UI 是否大象无形?你的 UI 应该让用户去体验,而不是放一些花哨

2010-07-04 12:56:00 986

原创 取消IE访问HTTPS站点时的安全警告

打开注册表,找到键 HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Internet Settings 新建 WarnOnHTTPSToHTTPRedirect 将值置为0

2010-06-23 12:55:00 3443

原创 软件设计中的模式

设计模式被认为是面向对象技术的第二代技术,公认的主要有设计模式(design patterns)、反模式(anti-patterns)、实现模式(implementation patterns)。这三方面都有标志性的书籍 Gof 的 “Design Patterns” William J. Brown, et al. “AntiPatterns” Kent Beck. “Implementation Patterns” 这三种模式涉及到软件设计的方方面面,而且侧重点也不一样,设计模式侧重于

2010-06-20 12:54:00 907

原创 iContact AE 新增功能

还是春节前翻译了一下配置界面,后来想改一下联系人列表,一直没时间改。上周出差一周都有点儿咳嗽,回来之后也更严重了,所以过节也没想出差去玩,明天晚上多吃了点儿药,今天上午好点儿了,没事儿干就把代码整出来好好看了看,改了一下,加了个配置项来支持。 原来电话号码放在联系人姓名的下边,占一空行,而后面空着很大空间,太浪费,改完之后利用率高多了。 麻烦的是全是用Windows Mobile的API,没有MFC太费劲了,文字、图片的位置都得一点儿一点儿算。 修改了几处代码,很多处都是一样的也就是循环体 vec

2010-06-14 12:53:00 922

原创 C++中检测整数类型的最大、最小值

由于time_t底层类型根据编译器不同其最大值是不同的,由于程序中用到其最大值,故而想手某种手段检测其极值,下面是使用模板函数检测的代码。 当然也可以定义为宏,或者将其定义为常量。如果定义为常量就不能检测用户自定义类型的最大最小值,使用宏或者模板支持用户自定义类型。 遗憾的是在C++98中还没有办法自动获取变量的类型,等C++0X一发布,这个函数就可以用一个变量作为参数,然后就可以获得某个变量可能的最大值与最小值, 会使这两个函数模板更有用。 #include #include usin

2010-06-07 12:52:00 3223

原创 C++中的宏(续)

1.1.1. #运算符 #字符在#define宏定义中是一个将参数名转换为字符串的运算符,#放在宏参数的前面。例如: #include #include #define DECLARE_NON_COPIABLE_BEGIN(CName) / class CName / {/ public: / virtual std::string ToString( void )const{

2010-05-29 16:44:00 887

原创 C++中的sizeof操作符

Technorati 标签: sizeof 1.1. sizeof操作符 sizeof操作符用于获得一个表达式的类型的大小,表达式可以是一个运算式、变量或类型,当sizeof后面是单个标识符时,不需要括号。如果sizeof表达式作为整个表达式的一部分时最好使用括号,除非你很清楚各运算符的优选级。sizeof的优先级是一元运算符中最低的,但高于所有二元运算符。使用sizeof获得C++内置类型的

2010-05-24 22:29:00 780

原创 C++中的sizeof操作符

1.1. sizeof操作符 sizeof操作符用于获得一个表达式的类型的大小,表达式可以是一个运算式、变量或类型,当sizeof后面是单个标识符时,不需要括号。如果sizeof表达式作为整个表达式的一部分时最好使用括号,除非你很清楚各运算符的优选级。sizeof的优先级是一元运算符中最低的,但高于所有二元运算符。使用sizeof获得C++内置类型的值可能为(不同CPU、不同编译器都可能不同): 数据类型

2010-05-24 12:50:00 1205

原创 Office 2007 多级标题自动编号

在Office 2007中,在进行多级标题自动编号时,在小标题中的大章节号不正确 如 1. 第一章 2. 第二章 1.1第一节 1.2第二节 操作步骤为:1)选中单标题的行,然后点击字体样式中的“标题1”,然后点击自动编号按钮。 2)选中二级节标题的行,然后点击字体样式中的“标题2”,就显示出上述形式。以前在Office 2003中,出现这种情况,选中二级节标题,然后点击自动编号按钮取消自动编号,然后再点击自动编号按钮,重新编号,则会正确显示为: 1. 第一章 2. 第二章

2010-05-24 12:49:00 10985

原创 C++中的多重继承

Technorati 标签: 多重继承,function-try-block 1.1. 多重继承 多重继承是指一个类具继承自多个父类,如果这多个基类中具有同名的成员,则在派生类中引用这具有重名的成员时必须使用域作用符标识,否则编译器将无法知道引用的是哪一个变量。 #include class BaseA { protected: int _mem; }; class BaseB { p

2010-05-23 23:00:00 1298

原创 快速结束IE保存文件时的假死状态

当想保存IE打开的网页时,选择另存为,经常发现不知道IE在干什么,保存的进度条不会动,此时便想取消。存不了,不存了还不行,还取消不了,要等好长时间才可以取消掉,此时IE便半死不活。以前等不及直接就打开任务管理器暴力停止IE,今天却发现一个让IE快速取消的方法,很简单: 点击开始菜单里(快速启动栏、桌面,随便哪里的IE快捷方式),再打开一个进程。 此时,假死的进程便立即取消掉了,开始还以为是巧合,后来发现屡试不爽,应该是百分百可以解决。可能是点击取消时IE要等待一个什么消息死到那儿了,直到超时才会重新有反

2010-05-21 12:43:00 1271

原创 节约----用纸

上周末抽空去弟弟那儿看看他们的小宝宝,也看看老娘,还有表弟也一起吃饭。吃饭间,表弟妹手上沾了点儿菜汤,要用纸擦,正要给她拿卫生纸,而她即说不用,径自走到桌上用一小纸片擦了手。同时我也发现床上放着两卷纸,一卷精的和一卷细些的,原来宝宝用细的,大人用粗的,尽可能节约一些吧。 这时我又想起两年半以前的爸爸,重病期间,在北京时给他买了卷比较好些的卫生纸,纸质比较细。他老人家去不舍得用,本来就是十来公司的那种短卷,可不知道什么时候父亲还是从中间隔开了两半,我也是在他老人家走了以后,清理床铺时在床头贵上发现了那半卷纸

2010-05-20 12:47:00 1013

原创 C++中的void类型

Technorati 标签: void,指针 1.1. void类型 void类型其实是一种用于语法性的类型,而不是数据类型,主要用于作为函数的参数或返回值,或者定义void指针,表示一种未知类型。 1.1.1. 作为函数参数与返回值 void func( void ); void func( ); 例如上面两例,其实两种声明方式是等效的,在C++中如果参数列表为空,默认的参数类型即为

2010-05-19 14:57:00 12449 1

原创 真是亲兄弟

今天下了新版的SPB shell,看联系人排列不是很整齐,想试试搜索好不好用,想一个好友的名字,分别按ASW三个字母所在的键,有趣的事情发生了,查找过滤后只剩下三个人的名字:AS乐、AS叶、AS威,兄弟三个,亲兄弟啊!虽然顺序是排行倒序,但也算整齐,而“乐”在名字中本应为“LE”,但SPB非要读作“YUE”也不算错,反而把三兄弟凑一起了,如果是看字儿,看风水,起名儿的大仙儿们让老三改个发音改为“YUE”呢,因为这三个名字太有缘了! 命,你信吗?你能不信吗?信不信由你!

2010-05-16 12:46:00 1137

原创 C++中const用法总结

C++中用法总结1.1.1. 定义普通常量使用#define来定义常量也是常用方法,但const也可以用来定义常量,在[Effective C++]中建议使用const代替#define来定义常量,因为const定义的常量具有类型信息,而宏没有,所以使用const定义的常量在进行赋值操作时编译器会进行更严格的类型检查,是类型安全的。const double PI = 3.1414926

2010-05-15 00:00:00 1195

原创 C++中的宏

Technorati 标签: C++,宏,#define   #define [MACRO_VALUE] #undef #define可以用于定义常量、条件编译、宏函数等用法,无论如何使用宏,必须记住其本质,宏只是简单的文本替换,只是将MACRO_NAME直接替换为MACRO_VALUE包含的文本,而#undef用于取消定义。 在工程上,为了便于区分宏与变量,宏一般用大写字母表示

2010-05-12 22:41:00 1192

原创 C++枚举类型讨论

Technorati 标签: C++,enum枚举类型enum,即enumeration的前四个字母,从字面上就可以看是它定义的值就是某一种值的穷举,例如一年中的12个月,一周中的七天、性别等。假设在一个应用程序中要实现几种数据传输方式,协议可能支持HTTP、FTP几种: enum TransProtocol{ HTTP = 0, FTP }; TransProtoco

2010-05-11 00:16:00 4164

原创 C++中的深复制与浅复制

Technorati 标签: 深复制,浅复制 在C#与Java的编程技术书中,关于赋值运算符经常会提到深复制与浅复制两个概念,因为C#与Java把对象分为两类:值类型和引用类型,而在C++中则没有明确这两个概念,其实在C++中的指针和引用都是引用类型的变量,C++标准库std::tr1::shared_ptr非常类似C#与Java中的引用变量,只有内置数据类型的变量才是值变量。既然在C++中也有

2010-05-11 00:15:00 1388

原创 C++程序文件

 Technorati 标签: 头文件,源文件,定义,声明C++的源代码文件分为两类:头文件(Header file)和源文件(Source code file)。头文件用于存放对类型定义、函数声明、全局变量声明等实体的声明,作为对外接口;而源程序文件存放类型的实现、函数体、全局变量定义。对于商业C++程序库,一般把头文件随二进制的库文件发布,而源代码保留。一般情况下头文件

2010-05-11 00:11:00 787

原创 C++中的深复制与浅复制

在C#与Java的编程技术书中,关于赋值运算符经常会提到深复制与浅复制两个概念,因为C#与Java把对象分为两类:值类型和引用类型,而在C++中则没有明确这两个概念,其实在C++中的指针和引用都是引用类型的变量,C++标准库std::tr1::shared_ptr非常类似C#与Java中的引用变量,只有内置数据类型的变量才是值变量。既然在C++中也有值变量和引用变量,则在C++中也存在深复制与浅复制的问题。 图?: 深复制与浅复制 如图所示,当自定义的数据类型中存在由程序员维护的资源时,如在堆上

2010-05-03 12:30:00 1475

原创 相对路径 与 绝对路径之间的转换

起因是在使用NCFTP下载文件时发现它不支持本地相对路径,还需要手动将相对路径转换为绝对路径,于是考虑了一下相对路径与绝对路径之间的转换,想到的有以下几种方法: 1. 字符串解析 这种方式就是要通过路径的规则对路径字符串是行处理,这种方式是性能最好的一种方式,但实现起来比较麻烦。 2. 使用现成API 在windows系统中可以通过API函数etFullPathName() 和PathRelativePathTo()进行转换 而在linux/Unix系统中没有类似函数(至少我现在还没有发现),但是

2010-01-26 12:27:00 13839

原创 why C++ 之: Why C++: 源文件与头文件有什么区别

 Technorati 标签: 头文件,源文件,定义,声明C++的源代码文件分为两类:头文件(Header file)和源文件(Source code file)。头文件用于存放对类型定义、函数声明、全局变量声明等实体的声明,作为对外接口;而源程序文件存放类型的实现、函数体、全局变量定义。对于商业C++程序库,一般把头文件随二进制的库文件发布,而源代码保留。一般情况下头文件

2009-12-24 00:49:00 2007

原创 C#中文编程

C#使用Unicode编码处理字符,这也是Windows内置编码方式,使用这种方式带来一个好处就是,可以使用中文编程,除了关键词不能使用中文以外,类型、变量名、函数名、属性名等都可以使用中文。如果是C++的语法的话就可以使用#define定义宏,使用中文关键词替换项文关键词,那可就几乎是纯粹的中文编程了,遗憾的是C#中的#define不支持这种功能,它只能用于条件编译。 下面是一段中文程序的示例,看起来应该很亲切吧,但以前用英文编程习惯了,看着这些代码还真是不习惯,但它的确可以编译并正常运行。 usin

2009-12-23 12:25:00 2594

原创 为什么要用C++之:命名空间

1.1.1. 为什么要命名空间(namespace) 对于一个大型的C语言软件项目,给函数和全局变量起名不是一个容易的事情,因为必须考虑有没有可能与其它程序员写的代码冲突,多数的做法是对每个模块的一组函数名加个特定前缀,如HTRequest_setInternal、HTRequest_internal等。这使得程序员每次调用这些函数时都必须多输出一些字符,虽然使用现在比较优秀的IDE(Integrated Development Environment),不会给程序员的输入带来多少负责,但这些字符看起来还

2009-11-29 12:24:00 3524 3

原创 为什么要用C++之 :为什么要用bool类型

1.1. 为什么要用bool类型、 因为我曾经看到过C++程序员,使用着C++的编译器,却仍然在使用BOOL、TRUE、FALSE等宏来表达现实世界中的二值事物,令我很不解,前去询问才知是“习惯”。显然,它以前是使用C语言编程的,而且使用这些宏做了很多事,也从来没有感觉到不好,为什么要用内置的bool类型呢,至少有两个优点,下面分别讨论。 1.1.1. 提高程序的可读性 Boolean(布尔)数据在C++中使用内置类型bool表示。bool类型的变量只可能有两个值true或false,在现实世界中它

2009-11-27 12:23:00 3029

原创 为什么要用C++之 :为什么要用bool类型

 为什么要用C++之 :为什么要用bool类型1.1. 为什么要用bool类型、因为我曾经看到过C++程序员,使用着C++的编译器,却仍然在使用BOOL、TRUE、FALSE等宏来表达现实世界中的二值事物,令我很不解,前去询问才知是“习惯”。显然,它以前是使用C语言编程的,而且使用这些宏做了很多事,也从来没有感觉到不好,为什么要用内置的bool类型呢,至少有两个优点,下面分别讨论。

2009-11-27 00:08:00 1571

原创 上高速公路之前的准备

上高速的机会其实并不多,但已经经受过两次在调整公路上堵车的痛苦,上一次是带着重病号堵了一个多小时,这次没有病人,却在夜里堵了七个多小时,当然不算行驰的时间,纯粹等了七个多小时,当个冷,那个饿。而且两次都是在京珠高速的浚县段,而且都是从南向北的方向,不知道是巧合,还是有什么客观原因,也不知道其它路段是否会有这重情况,但以后还是做点儿准备,可能也是针对中国高速公路的国情吧。 1)食物和水。别以为一两个小时就到达目的地了,不用带任何吃的,如果这样想的话,那就错了,因为我错过。如果不准备食物,那么挨饿也是应该的了

2009-11-26 12:22:00 1304

原创 为什么windows里不能建立文件名为con的任何文件和文件夹(转)

转自:http://hi.baidu.com/psy1011/blog/item/975ebab7954f53f430add1ae.html/cmtid/1fdcb2a11c2d5a8146106447 2006-11-29 20:09 知道CON是DOS下的特殊设备名 如下由系统保留的设备名字不能用作文件名: CON,PRN,AUX,CLOCK$,NUL,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1 Windows 9X 的 /co

2009-10-11 12:20:00 7271

原创 一个C++数组指针的例子

代码: #include using namespace std; int a[3][3]={{1,2,3},{2,3,4},{3,4,5}}; int b[3][3]={{2,2,3},{3,4,5},{4,5,6}}; int c[3][3]={{3,2,3},{3,4,5},{4,5,6}}; int main( int argc, char* argv[]) {     int (*arr[])[3][3] = {&a, &b, &c};     for

2009-10-11 12:20:00 1117

原创 提高工作效率,改善生活质量

有朋友跟我说工作一直很忙,而且老板给的工作越来越多,都忙不过来,天天忙得要死。其实这也不是个别情况,很多人有这种抱怨,但抱怨是无济于事的,应该考虑造成这种情况的原因,并设法解决。     首先,工作量是不是很大?工作量大也是正常的,我们公司在分配任务的时候也都是120%的分配的(当然数字很难准确),所以有很多人加班,当然我也不例外,前两个月加班非常多的,甚至周末有时候也都牺牲了,只有最近一个月才好点儿。遇到百年不遇的金融危及是我们的不幸也是我们的机遇,俗话说乱事出英雄,在全球经济不景气的时候总得有人出来改

2009-10-11 12:19:00 2707

原创 windows PSAPI.h 的一个BUG ?

    想用windows PSAPI中的EnumPageFiles函数获取页面文件的列表及使用情况,查到在MSDN中的声明是这样的: BOOL WINAPI EnumPageFiles( __out PENUM_PAGE_CALLBACK pCallbackRoutine, __in LPVOID lpContext);看到第一个参数是__out,感觉非常奇怪,它要输出做什么用呢?想来应该是自己定义的一个函数,然后对每一个页面文件都调用该函数,因

2009-10-05 12:17:00 1690

原创 QT交叉编译环境

1. 在QT Creator中交叉编译 1) 交叉编译QT Embeded 2) 设置QtVersion设置 点击Tools->Options->Qt4->Qt Versions. 然后添加已经编译的Qtembedded目录进去,就可以编译了。 在工程中的Release配置中,必须保证Qt Version是Qtembedded,也就是刚才新建的那个Qt Version Qt Creator默认是Default Qt version的。 这需要点击左边的Projects来修改。

2009-10-02 12:16:00 1082

原创 大型C++项目必须注意的几个小问题

有些问题对于小型的C++项目来说可能无关紧要,但对于大中型C++项目来讲,这些问题却成了大问题。什么样的项目算是小型项目呢,什么样的算是大中型项目呢,我认为10万LOC以下为小型项目,10-50万LOC为中型项目,50万LOC以上为大型项目。当然,不能单纯地以代码行数作为衡量标准,前几天产品重构,我用四二三十行代码换掉了原来的三四千行代码,那这个项目的规模是用这二三十行来计算呢,还是用那三四千行算呢?软件很难有一个准确的度量标准,暂以行数作为一种参考性标准吧。     当项目较大量一些在小型项目中不需要考

2009-09-29 12:16:00 3478 1

原创 面试

实在想不起来给个什么好题目,取个关键词吧。      这几天部门想招几个C++开发的,面试过好几个,今天来这个算是学校比较好的“东北大学”,开始从人力的手里拿过简历看到学校名感觉还是不错的,可是接下来的一连串事儿,真的让我乐不起来了。     走进要面试的办公试,那个同学刚做完笔试题在等着,一进门“你是面试官?”,现在也记不清是什么语气,只是记得当时感觉很诧异,我只是点了点头“是”。    大概说了下简历,我让他讲一下以前的项目,在白板上讲了两句,他电话响了,于是就旁若无人地接起电话,完了接着讲,这开

2009-09-27 12:15:00 924

WebBrowser 扩展

扩展了.Net framework中的WebBrowser控件

2010-06-20

空空如也

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

TA关注的人

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