自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 悲催的PKU ACM 3980

读研那会儿,偶然发现了这个http://acm.zju.edu.cn/onlinejudge/(现在回忆起来大约是在CSDN算法论坛泡的时候有人提起的,原谅我这读本科不是计算机专业的人吧),于是就兴致满满的一道一道做,直到做完了1008。突然觉得很没意思,那些AC率低的一般都是NP问题,翻来覆去就...

2011-06-09 11:51:00

阅读数 770

评论数 0

原创 J2ME中Form的内存泄露

改别人代码是件很痛苦的事情,但是工作中在所难免。今天碰到了很棘手的问题——有一个类的对象无论如何不能被回收,当然这是在排查了半天内存溢出之后得出的结论。还好模拟器忠实的反映了这个问题——假设创建了一个包含两个TextField的Form之后,那么这个Form将永远存在,哪怕没有任何引用,好在只会存...

2009-02-10 15:35:00

阅读数 750

评论数 0

原创 Java中Stream的close

 最近在精简代码,发现每次new一个ByteArrayInputStream然后再new一个DataInputStream,然后还要把两个都close,看着都恶心,真的要这么写吗?首先,实在搞不懂为什么ByteArrayInputStream也要close,完全没有意义吗!好在现在java也开源了...

2008-12-30 09:25:00

阅读数 2346

评论数 0

原创 在Lua中使用Unicode

这是一个事实上已经解决的,但是却很难搜索到方案的问题。在这点上不得不佩服老外的兜圈子和中国人的没耐性。关于这个问题比较详细的文档是lua-suers wiki上的一篇http://lua-users.org/wiki/LuaUnicode,看完之后,虽然懂了不少,还是没解。这点也怪不得人家,Uni...

2008-12-06 21:57:00

阅读数 7047

评论数 0

原创 Mercurial的.hgignore写法

 看了N多的介绍,结果都是一句话——一目了然,就不介绍了……其实那些例子并没有涵盖常用需求,所以导致我很困惑。自己研究一下吧。hgignore支持两种语法,Python/Perl-style regular expressions和系统shell。虽然shell语法一目了然,但是还是建议使用reg...

2008-11-22 15:31:00

阅读数 4244

评论数 0

原创 Linux下Netbeans的字体反锯齿

首先说明,我是被锯齿的Netbeans虐待了半年才下决心解决来解决这个问题,想想还真是冤枉。我用的Linux发行版是Ubuntu8.04,如果使用源里面的JDK一切都很简单(现在源里的版本是1.6u6),JDK6开始支持反锯齿。装完Netbeans你就会惊喜的发现,仿原生GUI的界面(GTK+)上...

2008-10-10 00:58:00

阅读数 4388

评论数 0

原创 如何在Linux下实现Nokia PC Suit的功能

    不管Nokia PC Suit的口碑如何(有人说它太大、影响系统稳定,等等……),我所以在windows下用,不外乎两个原因,电话簿和传文件,对于S40还有一个用处是安装程序——直接蓝牙发送和数据线拷贝不能保存RMS,对于继承存档的游戏来说真是个大问题。    换到Linux(我用的Ubu...

2008-09-03 13:55:00

阅读数 8

评论数 1

原创 生成在PC和手机都能运行的jar包

首先看一下可行性。java的字节码规范是一样的,但是两个平台的类库有很多不同,好在程序执行的入口点不同,并且对于根本不会执行到的死代码,里面有什么无所谓。下面看一下具体过程:首先生成一个midletimport javax.microedition.midlet.*;import javax.mi...

2008-08-22 12:15:00

阅读数 1326

评论数 0

原创 Java的“静态库链接”

Java的库组织方式就是“动态链接”的,从一个Java的jar包运行有可能要接一堆classpath就知道。和基于静态链接的C语言要实现动态链接要做额外的事情相似,Java要想实现类似C的静态链接也要做很多额外的事。用类似Fat Jar的方法,把所有的依赖库打包的最后的库中,其实不是静态链接——C...

2008-06-23 13:36:00

阅读数 1465

评论数 0

原创 如何在不支持上传文件的论坛上传文件

如何在不支持上传文件的论坛上传文件要达成这个目标,有个前提条件是这个论坛要能上传图片。常用的图片格式一般为JPEG,这种格式是以FFD9作为文件结束标志的,至于这之后存了什么,就不管了,因此我们可以把我们要上传的文件附加在这后面,同时也不影响这张图片的显示。BMP格式也是可以这样的,因为这种格式里...

2006-04-03 23:54:00

阅读数 3007

评论数 2

原创 系统托盘气泡提示和上下文(右键)菜单

系统托盘气泡提示和上下文(右键)菜单WTL嵌入类的架构可以使整个程序很清晰,系统托盘气泡提示、上下文菜单处理可以分别独立出来,以下是实现代码,很清晰就不注释了。基本上这两个类很少需要修改,因此我把它们放到了系统包含文件搜索路径中。//ContextMenu.h#pragma oncetemplat...

2006-03-29 19:32:00

阅读数 2864

评论数 2

原创 准备工作——修改向导添加WinSock支持

要想使用WinSock必须在调用前加载相应的DLL,通常是调用WSAStartup来完成,这个函数一般放在WinMain,然后在程序结束的时候调用WSACleanup(其实不调用也行,不过“那就不符合WinSock规范”了),还需要链接ws2_32.lib。虽然不是很麻烦,考虑到以后我们要写得此类...

2006-03-29 16:40:00

阅读数 1651

评论数 0

原创 Windows网络编程简易上手重写计划

首先很抱歉真正应了我写在开头的“有足够的耐心”,我已经很久没更新这个分类了。倒不是没写什么,这段时间我也写了完成端口的例程,只是整个程序看起来很混乱,实在没什么心情再给别人讲。这个系列处于停顿主要也是因为这个。由于用嵌入类来编写任务栏提示的类,让我认识到了WTL的架构的优越之处,当我的程序运行起来...

2006-03-28 18:03:00

阅读数 1788

评论数 1

转载 WTL for MFC Programmers, Part VIII - Property Sheets and Wizards

原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容 介绍 WTL 的属性表类 CPropertySheetImpl 的方法 ...

2006-03-28 14:10:00

阅读数 1424

评论数 0

转载 WTL for MFC Programmers, Part VII - Splitter Windows

原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容 介绍 WTL 的分隔窗口 相关的类 创建分隔窗口 基本...

2006-03-28 14:09:00

阅读数 1361

评论数 0

转载 WTL for MFC Programmers, Part VI - Hosting ActiveX Controls

原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容 介绍 从使用向导开始 建立工程 自动生成的代码 ...

2006-03-28 14:08:00

阅读数 1359

评论数 0

转载 WTL for MFC Programmers, Part V - Advanced Dialog UI Classes

原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容 第五章介绍 特别的自画和外观定制类 COwnerDraw CCusto...

2006-03-28 14:06:00

阅读数 1325

评论数 0

转载 WTL for MFC Programmers,Part IV - Dialogs and Controls

原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容 介绍 回顾一下ATL的对话框 通用控件的封装 用应用程序向导生成基于对话框的程序 使...

2006-03-28 14:05:00

阅读数 1247

评论数 0

转载 WTL for MFC Programmers, Part III - Toolbars and Status Bars

原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容 介绍 主窗口的工具条和状态条(Toolbars和Status Bars) 向导为工具条和状态条生成的...

2006-03-28 14:02:00

阅读数 1154

评论数 0

原创 WTL向导的中文本地化

需要修改两个文件,/AppWiz/Files/Templates/../root.rc,/AppWiz/Files/Scripts/../default.js。当然,愿意全盘汉化的也可以修改/AppWiz/Files/HTML里面的HTML页面。注意到这些目录里都有一个1033的子目录,这就是语言...

2006-03-28 11:51:00

阅读数 2244

评论数 1

转载 WTL for MFC Programmers, Part II - WTL GUI Base Classes

原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容 对第二部分的介绍 WTL 的总体印象 开始写WTL程序 WTL 对消息映射链的增强 ...

2006-03-28 10:58:00

阅读数 1064

评论数 0

转载 WTL for MFC Programmers, Part I - ATL GUI Classes

原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容 README.TXT 对本系列文章的总体介绍 对第一章的简单介绍 ATL 背景知识 ...

2006-03-28 10:56:00

阅读数 1218

评论数 0

转载 WTL for MFC Programmers, Chinese Version Prologue

我一直在寻找这样一个类库:他对Windows的窗口提供面向对象的封装,有灵活的消息响应机制和比较完备的界面框架解决方案,对标准控件提供简练实用的封装,支持操作系统的新特性,支持功能扩充和二次开发,有代码自动生成向导机制,生成的程序使用较少的系统资源,最后是有完全的代码支持和文档支持。你会说那就用M...

2006-03-28 10:53:00

阅读数 1173

评论数 0

转载 托盘编程全接触

一、托盘简介   所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区。其实,托盘区的编程很简单,下面简要阐述一下子喽^_^   二、托盘编程相关函数   其实呢,把程序放到托盘...

2006-03-19 18:03:00

阅读数 695

评论数 0

原创 第一章 UDP

UDP(User Datagram Protocol,用户数据报协议)具体是什么我不说了,随便Google、Baidu一下,或者到书店、图书馆都能找到详细的答案。我只是打个比方,UDP的通信方式就好像你看见张三,然后你就扯着脖子喊“张三”,张三听见后,回喊你“李四”,你们就这么互相扯着脖子喊话。不...

2005-10-08 18:50:00

阅读数 2207

评论数 1

原创 如何正确的计算文件收发进度

学习Winsock编程,用TCP协议收发文件是必不可少的一个实践环节,而计算收发百分比的一行代码,很多人都写不对。假设我们用DWORD(unsigned long)来表示文件长度,则长度的最大值是232-1,也就是4GB。虽然Win32 API能够返回两个DWORD表示长度,但是为了简便,我们还是...

2005-10-06 15:56:00

阅读数 1007

评论数 0

原创 WTL中CString的使用问题

如果你按照说明定义_WTL_USE_CSTRING,然后包含atlmsic.h,就会出现CString定义不明的编译错误,其实就是编译器分不清你是用WTL::CString,还是ATL::CString。其实你跟本用不着用WTL::CString,它们根本上就是一样的。避免这类错误的方法就是在at...

2005-09-29 22:20:00

阅读数 3774

评论数 1

原创 WTL向导生成的对话框程序中文乱码的解决

首先,选工程属性,把资源的属性改成“中文(中国)”,是不是一定要改,我不确定。最重要的是,把对话框的字体换成中文字体,比如宋体。并不需要改成Unicode程序。或者直接中文化向导模板,参阅我的文章。

2005-09-29 21:39:00

阅读数 1578

评论数 0

原创 Windows网络编程简易上手——写在开始

写在开始最近开始看《Windows网络编程(第二版)》,应该说是本好书,要言不烦,并且很细致,不过也很厚。以前用过MFC的CSocket,虽然也没弄清楚它是怎么工作的,但是也能发发消息,收收文件,并且传送文件功能我是在CArchive上实现的,不是像现在的例程用上了send、receive等更初级...

2005-09-29 11:08:00

阅读数 1398

评论数 0

原创 Windows下的应用程序如何获得本机IP地址

看到一些例程,使用的是winsocket,实际上我们都知道ipconfig就能完成我们的要求。IP助手API提供了类似的功能,本文用到的是GetAdaptersInfo,具体参数意义可以查MSDN。例子如下://需要链接iphlpapi.lib#include #include #include ...

2005-09-28 16:12:00

阅读数 1848

评论数 2

原创 如何在VS.net2003下开发ARX2005

这是一个老问题,也是一个热门问题,我所能找到的解决方案都不够理想。简单的办法就是,把mfcs71.dll,mfc71.dll复制一份,改名叫mfcs70.dll,mfc70.dll,这样就能胡弄过编译器,但是,AutoCAD不能加载,当然,用arx命令不理会那个警告信息也是能加载的。可是这样总有点...

2005-09-27 21:29:00

阅读数 1194

评论数 0

原创 数据结构学习(C++)续——续篇后记

我觉得续篇的写作我很不负责任,越到后面越是如此,可能是我没有打算写的缘故,或者说是“心浮气躁”——写了几个月有点熬不住了,^_^。但也可能我只能写到这样,毕竟这部分离我们太远,至少和前边的“数据结构”相比是太远。有人说,查找和排序的算法已经非常成熟了,大师们穷尽脑汁也不可能带来“质的飞跃”了,而像...

2004-03-16 16:56:00

阅读数 2127

评论数 2

原创 数据结构学习(C++)续——查找(搜索)【2】

树型查找折半查找所需要的,有序的、可以随机存取的、顺序结构的限制,导致了排序的额外负担(如果是逐个添加,主要的负担是移动数据,此时是折半插入排序)。通过观察折半查找的过程,发现实际上mid是从判定树的根走到了叶子节点,而这棵判定树和有相同节点的完全二叉树的高度是相同的。链式结构的好处就是不用大量移...

2004-02-09 00:11:00

阅读数 2256

评论数 1

原创 数据结构学习(C++)续——排序【6】内部排序总结

基数排序本文后面将会提到,我觉得将其和前面的排序算法放在一起比较有些不伦不类。前面介绍了四类排序方法,每种都有基本型和改进型。对于内部排序,我们最关心的当然是速度,这也是为什么快排受欢迎的原因。考虑到快排的缺陷,有时候我们可能会用堆排或者希尔排序、归并排序。上面可能是选择排序方法最直接的思路了(我...

2004-02-09 00:07:00

阅读数 2148

评论数 1

原创 数据结构学习(C++)续——查找(搜索)【1】

相信每个人都曾感受过找东西的痛苦,大多数人也感受过计算机参与资料管理后所带来的便捷,而学过编程的也曾为了某个问题(比如实现“如果不存在则加入”这样的算法描述——排列组合算法的初级阶段)而实现过查找。在SGI-STL的stl_algo.h里面有这样一段代码:template inline _Inpu...

2004-01-04 10:22:00

阅读数 1557

评论数 0

原创 数据结构学习(C++)续——排序【5】归并排序

【5】归并排序当初学习链表的时候,我们都曾经做过将两个有序链表合成一个有序链表的练习。那时我们就知道了归并的特点就是,将分段有序的序列合成整体有序的序列。在内部排序中,归并的地位并不十分重要,主要是因为附加的O(n)的储存空间;但是,归并却是外部排序的不二法门——我们只能用内排得到分段有序的序列,...

2003-10-28 14:21:00

阅读数 2146

评论数 0

原创 数据结构学习(C++)续——排序【4】选择排序

【4】选择排序基本思想是:每次选出第i小的记录,放在第i个位置(i的起点是0,按此说法,第0小的记录实际上就是最小的,有点别扭,不管这么多了)。当i=N-1时就排完了。直接选择排序直选排序简单的再现了选择排序的基本思想,第一次寻找最小元素的代价是O(n),如果不做某种特殊处理,每次都使用最简单的寻...

2003-10-20 23:57:00

阅读数 1454

评论数 0

原创 数据结构学习(C++)续——排序【3】交换排序

【3】交换排序基本思想是:两两比较待排序记录的关键码,如果发生逆序,则交换之,直到所有对象都排好为止。起泡排序起泡排序是比较相邻的两个记录,逆序则交换。这样的做法导致小的关键码一层层的浮上来,因此得名。CSDN的论坛曾经讨论过“冒泡”和“起泡”是不是一个东西,看来这是翻译惹的祸,英文名都是Bubb...

2003-10-20 23:56:00

阅读数 1365

评论数 0

原创 用Visual C++编写电子邮件程序

一、概述 本文主要讲述如何使用Visual C++用MAPI编写E-mail程序。MAPI是包含在Windows之中的,因此不需要安装其他额外的部件。MAPI有以下三种形式: SMAPI,Simple MAPI,简单的MAPI CMC,Common Messaging Calls,一般通讯调用 完...

2003-09-23 23:39:00

阅读数 2020

评论数 0

原创 数据结构学习(C++)续——排序【2】插入排序

基本思想是,每步将一个待排序的记录,按其关键码大小,插入到前面已经排好序的记录的适当位置,从头做到尾就可以了。直接插入排序template void InsertSort(T a[], int N, int& KCN, int& RMN){       KCN = 0; RMN =...

2003-09-12 19:23:00

阅读数 1465

评论数 1

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