自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hong201的专栏

宏之苑

  • 博客(143)
  • 资源 (8)
  • 收藏
  • 关注

原创 erlide下的erlang调试

erlang近几年蹿的很快,看下windows下的调式方法吧,一般使用官方的debugger,或者eride调试模式,本人使用了eclipse+erlide模式:1.安装eclipse环境,java6+eclipse4.2,安装erlang最新版本;2.安装erl插件,eclipse --> help --> eclipse marketplace --> seacrh --> e

2012-12-02 22:20:00 7385

原创 漫谈sscanf高级特性

格式化输出API, printf, sprintf, vsprintf等等早已被大家知悉,使用规则也是了如指掌:比如 %d, %s, %p, %-02d等等; sscanf 相当使用的略少,它的用法除了常用的 %d, %s, %c等之后还有 “^”,“[”,“]”,“*”等等;1. “^” 和正则表达式中的 ^作用一致, 相当于非;2. “[”,“]”成对使用,和正则表达式中的

2012-10-09 22:49:33 4851

原创 快速搭建SVN服务器

以往下载 Setup-Subversion , 下载Apache安装,svn服务配置,权限配置,麻烦之极了,其实在window下没有必要这么麻烦。 捷径步骤:1. 直接下载VisualSVN Server即可了,下载它的免费版本已经够用了,自带了svn server和 ApacheHTTP;2. 安装过程可以选择http or https协议, 可以选择端口, 代码仓库是必须能够选

2012-09-02 14:59:07 4470

原创 让GAE再飞一会

<br />GAE不能访问,很是悲惨。再加个host搞定<br /> #coding=utf8import osdef add_gae_access(): host_file_path = os.path.join(os.getenv('windir'), 'system32/drivers/etc/hosts') with file(host_file_path, 'ab') as f: f.write("%s#GAE access%s2

2011-02-28 23:37:00 6371

原创 Lua源码阅读四——lua虚拟机指令系统

本篇文章,主要探讨一下lua中的指令系统(涉及到的文件 lopcodes.c )。在lua中,用32位的unsigned int类型来表示一条指令操作码,32位值包含了6位的操作码和26位的指令字段两部分内容。  All instructions have an opcode in the first 6 bits.  Instructions can have the following fields: `A' : 8 bits `B' : 9 bits `C' : 9 bits `Bx' : 18 bi

2010-12-19 22:18:00 7653

原创 Lua源码阅读三——lua字符串缓存

<br />本篇文章,主要探讨一下lua中的字符串缓存管理(涉及到的文件 lstring.c )。<br /> <br />在lua的9种数据类型中,字符串是属于可以被GC回收的类型。在lua中,操作字符串实际上是在操作字符串引用,当字符串不在被使用的时候,GC会通过一定算法回收。<br /> <br />--lua9种数据类型:<br />#define LUA_TNIL 0#define LUA_TBOOLEAN 1#define LUA_TLIGHTUSERDATA 2#define

2010-12-18 21:39:00 9721 1

原创 Lua源码阅读二——lua内存管理

<br />距离写的上一篇lua源码阅读,已经一个月了,在这一个月里,除了正常上班之外,业余时间都去玩战神-奥林匹斯之链了,当然,lua源码阅读的任务也在进行中。<br />接下来,将对个人在过去一个月的业余时间里阅读lua源码进行一下总结,,将陆续写一些个人阅读lua源码时的一些分析、一些疑问等等,力争保证每天一篇,力争在2010年结束之前写完。废话不多了,开始本篇的主题吧。<br /> <br />本篇文章,主要探讨一下lua中的内存管理(涉及到的文件 lmem.c,lauxlib.c )。<br />

2010-12-16 21:53:00 11013

原创 Lua源码阅读一——在Windows下编译

<br />最近感觉没啥可看,就看一下lua源码,打发打发时间吧。<br />首先需要下载编译lua源码了,笔者是在Windows+VS2005下编译通过<br /> <br />1.首先需要去官方网站上下载lua源码,到www.lua.org上下载lua源码,目前最新版本是5.1 RC4版本lua-5.1.4.tar.gz,解压之后,目录下有install文件,在该文件中详细说明了在linux下编译的过程,visual studio下的编译也提了一下<br />2.编译lualib<br />新建一个vc

2010-11-14 19:44:00 10772

原创 DX步步为营(二)——绘制流水线(T&L)

<br />绘制流水线(Transforming & Lighting),听起来很像是一道工序一样,没错,它就是将建立了3D场景和虚拟摄像机的几何描述,在显示器中2D表示的一个过程。<br /> <br /> <br /> 绘制流水线一般步骤:<br />局部坐标系(自己的坐标系)——>世界坐标系(场景坐标系)——>观察坐标系(摄像机坐标朝向变换)——>背面消隐——>光照<br />——>裁剪——投影(n维变换为n-1维)——>视窗变换——>光栅化<br /> <br /> <br /> <br />局部坐

2010-08-22 10:46:00 4702

原创 DX步步为营(一)——D3D初始化步骤

在下列步骤之前,需要:#include#pragma comment(lib,"d3d9.lib")#pragma comment(lib,"d3dx9.lib")1.通过接口 Direct3DCreate9(D3D_SDK_VERSION) 获取IDirect3D9指针;2.使用IDriect3D9指针的 GetDeviceCaps 接口判定显卡是否支持硬件顶点运算,若硬件不支持,可使用软件模拟顶点运算;3.使用第2条的测试结果初始化 D3DPRESENT_PARAMETERS 结构;4.使用第3条的 D

2010-08-02 22:09:00 4433

原创 DX步步为营(零)——入门篇

之前研究过一段时间的OpenGL,可惜工作中暂时用不到,现在跑来研究一下DX,好歹工作中也可以用到一些了。说说的我环境吧: Windows xp+sp2+DirectX9+VS2005dx的下载安装就此略过吧。1.新建一空的项目,把DX目录下的Include,Lib目录添加到vs2005的配置目录中;2.引用dx头文件和lib库3.开始来点接口调用demo。-------------------------#.h #include "stdafx.h"#include #include #p

2010-07-27 22:20:00 4648 1

原创 小用WinDbg之一

<br />看《深入解析Windows操作系统》的时候,作者讲到如何使用WinDbg调试系统,所以也来试试WinDbg。<br /> <br />先来看看下载及配置WinDbg吧:<br />1.到微软官方网站下载相应版本的WinDbg,WinXp+SP2版本的下载地址是:<br />http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi<br /> <br />2.在使用WinDbg调试之前,必须保证系统的符号

2010-06-24 22:13:00 4745

原创 网上流传的一面试题目

先来看一副图吧: 题目的意思给一个初始值6,打印如上图形,先仔细分析分析看:1.图形是6行6列;2.从第一行第一列的位置开始,转圈,数值依次增加;3.第一列第一行的初始值是1; 进一步分析:1:起始值:x=0,y=0,direction=right,startValue=1;2:循环条件:若能沿着上一次的方向,则继续,否则,从right到bottom,从bo

2010-05-17 23:46:00 4713

原创 Which is fast : ++i or i++?

 我们大家都知道,++i,是前置加加,即:在执行前先++,i++是后置加加,是在执行后++。例如:int nLeft = 1;int nRight = ++nLeft; 此时,nLeft=2, nRight=2; int nLeft = 1;int nRight = nLeft++; 此时,nLeft=2, nRight=1;  那么++

2010-05-14 21:53:00 5175

原创 读《深入解析Windows操作系统》有感

《Windows》核心编程,《深入解析Windows操作系统》……经典的书籍,需要再次重读。 系统剖解的蛮彻底;模块讲解的蛮清晰;实验罗列的蛮简洁。

2010-04-29 22:17:00 5144

原创 哪些需要重构?

近期再度《重构》,有感而记: Bad smells in Code(不好的代码):1.Duplicated Code(重复的代码),同一份代码出现在一次以上;2.Long Method(过长代码),一个函数太长,功能包罗万象;3.Large Class(过大类),一个类的功能太多,导致有很多的实例变量;4.Long ParameterList(过长参数列遇到多种变化,都是在某个类中做出变化

2010-03-21 14:15:00 4559

原创 wxPython一

wxPython是一个基于wxWidgets的跨平台界面库,同类的界面库还有GTK,QT等等,笔者使用的环境是Windows XP+Python2.6+wxPython2.8。wxPython下载地址:http://downloads.sourceforge.net/project/wxpython/wxPython/2.8.9.2/wxPython2.8-win32-unicode-2.8.9.

2010-03-07 15:02:00 5480

原创 Make之二

循规蹈矩的写makefile文件,写的代码行又多又不好,当然了,能少写最好了。接着上次的makefile文件再另写一个:  vpath %.cpp src vpath %.h includeobjects=hello.o main.ohello:$(objects) g++ $^ -o $@ rm $(objects)hello.o: hello

2010-03-07 11:25:00 4278

原创 GNU Make 和automake

大家都知道,linux下编写C++需要写make文件,小程序则好些多了,但是庞大的工程,直接用手写就不好了,下面示例: 1.测试小程序demo1      ---------main.cpp      ---------hello.h      ---------hello.cpp #main.cpp#include "hello.h"int main()

2010-02-28 18:26:00 6609

原创 PyQT first demo

PyQT first demoQt是一个跨平台的界面库,PyQt就是它的Python版本了,Python的界面库除了PyQt之外,还有wxPython,TK等。环境:Windows+Python2.6+Qt1.下载安装环境python2.6:www.python.orgPyQt2.6:http://www.riverbankcomputing.co.uk/static/Download

2010-02-24 21:40:00 2726 1

原创 研究Android一——开发环境搭建以及HelloWorld

好早想着研究一下Android一下,但是没有时间,这次趁着元旦假期,给自己一个理由,更给自己一个时间,开始研究Android。 第一篇,环境搭建Windows XP+Java+Eclipse+ADT 1.安装java1.6,安装好之好,需要设置JAVA_PATH,CLASS_PATH;2.安装Eclipse,到www.ecplise.org上下载Eclipse galile

2010-01-06 23:04:00 829

原创 2010,又发现腾讯QQ的一个Bug

2010,新的一年,新的开始,换个QQ签名。一换居然发现了QQ2009的一个bug。 bug描述:发现日期:2010年1月4日20:22:12重现步骤:1.鼠标点击QQ2009主界面的签名区域(在头像的右边,天气预报的左边);2.QQ签名中包含ACSII值为(1,2,3,4,5,6,7,8,9)的字符;3.进入QQ空间,在QQ好友动态栏中,可以看到刚刚修改后的签名4

2010-01-04 20:04:00 821

原创 内存池(MemPool)

话说内存池貌似是一个比较深刻的话题,每当想去尝试一下,然而深感自己积累不足;今天终于有积累,有时间会会内存池了。之前看过STL中Alloc,即空间配置器的设计思想以及实现;后续看过ACE的Block,都是关于内存池的不同见解。 今天有空实现了一个内存池,按照STL的空间空配置器的思想实现,就是用纵横链表管理内存块。横向的链表管理不同大小的内存块,纵向链表管理相同大小的内存块,为了不浪费内存

2009-12-27 14:54:00 1306 1

原创 终于把DB数据管理器写完了

DB数据管理器支持多个大请求并发,大请求拆分成小请求向DBEngine发送,DBEngine异步回应,且对DBEngine返回大请求的每个小请求返回的时候,DB数据管理器需要做缓存,待一个大请求的所有小请求全部返回之后,DB数据管理器将合并成大请求的结果,返回给调用方。可爱可恨的DB数据管理器,终于写完了…… 

2009-12-22 21:34:00 697

原创 小菜破坏了小海藻

话说时下电视剧《X居》正在热播中。一贯两耳不闻窗外事,一心一意为人民服务,废寝忘食写代码的小菜也被这一夜之间传遍神州大地的《X居》感染了,代码写了一半就跑去看了…… #¥&@#,电视剧看完了,小菜继续写代码了struct STTV{ char szName[8]; unsigned int unTotal; unsigned int unUrlLen; char

2009-12-15 21:23:00 710

原创 python简单的可逆加密程序

简单加密,用python来写写。 #coding=utf-8 Description: 可逆的加密与解密 Environment: python2.5.x Author:[email protected] osimport sysclass Code(object): 可逆的加密与解密

2009-12-15 20:46:00 2906

原创 初始化零:ZeroMemory、memset、{0x00}的区别

C++中,结构,数组,类对象等初始化,一般情况下是需要初始化为零,初始化为零又有好几种情况,下面结合自己编程经验,浅谈一下。 1.memset函数是C库提供的,把某个对象初始化为某值,如:memset(this, 0, sizeof(this);2.ZeroMemory函数是Windows平台提供的宏定义,但内部是调用memset,初始化为0;3.{0x00}是 将成品变量初始化为

2009-11-19 23:24:00 3345 1

原创 WinSock温习一

sock编程,之前接触过一段时间,但是没空写写。现在先从最基本的select模型开始吧,简单的echoserver示例。 服务端,sock创建的步骤,顺序不能乱1.WSAStartup  // 加载winsock.dll2.sock              // 创建sock3.bind              // 绑定sock4.listen          

2009-10-26 23:23:00 755

原创 深度探索C++对象模型学习笔记——Function语意学

C++支持三种类型的成员函数:静态,非静态、和虚函数 虚函数细节:每个class有一个virtual table,内含该class之中有作用的virtual function地址,然后每个object有一个vptr,指向virtual table的所在。对于虚函数ptr->z();的调用,需要知道如下两点:1.ptr所指对象的真实类型,可使选择正确的z()实体;2.z()实体位置 

2009-10-07 19:20:00 572

原创 OpenGL学习笔记一——环境搭建

OpenGL的环境搭建还是蛮简单的,自己的搭建环境是xp+vs2008,废话不多了,直接看步骤吧:一、搭建环境1.下载glut,glut是OpenGL的一组扩展工具包,使用起来更方便http://www.opengl.org/resources/libraries/2.下载glew,glew是什么呢?http://glew.sourceforge.net/关于glut和glew的安装:bi

2009-10-06 19:38:00 1104

原创 深度探索C++对象模型学习笔记——Data语意学

例子:class X{};class Y: public virtual X {};class Z: public virtual X {};class A: public Y, public Z {}; 对象大小由下述原因决定1.语言本身所造成的额外负担如:支持virtual base classes时,derived class中,额外负担反映在某种形式的指针身上,它或者指向vir

2009-09-20 19:23:00 653

原创 深度探索C++对象模型学习笔记——构造语意学

c++在布局以及存取时间上主要的额外负担是由virtual引起,包括:1. virtual function机制(运行期绑定runtime binding)2. virtual base class机制(多次出现在继承体系中的base class,单一却被共享的实体)3. derived class和base class的转换(dynamic_case转换)c++中:有两种数据成员:静态和非静

2009-09-20 14:54:00 609

原创 MySQL常用的一些有效命令罗列

简简单单的罗列一些日常常用的MySQL命令。show variables;查看数据库配置的一些配置项show status;查看当前启动的MySQL状态select @@autocommit;查看MySQL当前执行SQL的提交类型(是否自动提交)/s当前连接数据库名,用户名,MySQL版本,字符集等等。show create table ta

2009-09-12 22:38:00 669

原创 dll调用的来龙去脉

 关于dll的介绍可以在这里看到http://support.microsoft.com/kb/815065/zh-cn,这个算是官方解释了。 1.dll生成dll的入口如下,就像应用程序的main函数一样,其中DLL_PROCESS_ATTACH是dll被调用的执行处理,DLL_PROCESS_DETACH是被卸载的时候的调用。 BOOL APIENTRY DllMain( HA

2009-08-30 17:04:00 953

原创 AutoIt 初探

关于AutoIt,算是接触不久,但是它以简单的方式访问Windows API,让人觉得轻松,初次试探,写个小小的脚本。UI测试,测试Windows自带的计算器。 示例如下:  Main()Func Main() $modeName = "计算器" $modeExe = "calc.exe" Init($modeName, $modeExe) ; 有多个

2009-08-20 14:13:00 1091

原创 vector存放pair对象

一般关联对象都会放在map或者hash_map中,这样做是为了查询速度快,SGISTL中map是红黑树结构,即每个节点要存放3个指针,分别是父节点,左子节点,右子节点,如果存入map的对象比较小且数量不多时,反而用有序vector会快一些。 例子demo:typedef std::pair Data;class DataCompare{public: bool op

2009-08-08 14:10:00 4082 1

原创 容器存放string指针

假如set中存放string指针,想当然可能会如此写:std::set setPtr;typedef std::set::iterator it_setptr;setPtr.insert(new std::string("hong"));setPtr.insert(new std::string("STL"));setPtr.insert(new std::string("

2009-08-02 20:03:00 1309

原创 内存泄漏检测

看到这篇文章,觉得蛮不错,http://blog.vckbase.com/bruceteen/archive/2004/10/28/1130.aspx。 检测内存泄漏示例:#include "debugNew.h"using namespace std;int main(int argc, char* argv[]){ char* szP = new char[

2009-08-01 14:13:00 639

原创 SGI STL安装

SGI STL安装STL的版本有很多个,其中的SGI版本的使用非常广,linux下的GCC用的就是这个。现在有个sport组织致力于把SGI版本的移植到其他平台上。下面以安装到vc6为例:侯捷的《STL源码剖析》那本书的附录里有孟岩下的一片STLPort一直经验,按照那篇文档参考一步一步操作:1) 先到http://www.stlport.org/下载需要的版本,解压STLPo

2009-07-05 14:06:00 3787 1

原创 漫谈游戏中的交易逻辑

现在大部分游戏的交易,只允许两人交易,逻辑如下(假定A和B交易):拒绝交易情况:A(请求和B交易)------>服务器(转发A的请求至B)------->B(是否接受A的请求交易)B(拒绝A的请求)------>服务器(转发B的回答至A)-------->A同意交易情况:1) A(请求和B交易)------>服务器(转发A的请求至B)------->B(是否接受A的请求

2009-06-27 11:39:00 1230 1

内存池(MemPool)

按照STL空间配置器的思想实现的一个内存池模块,附带了几个简单测试示例。

2009-12-27

Effective STL中文本

侯捷翻译的effect stl,中文清晰版本

2009-11-29

lucene做索引查询流程

lucene 做索引查询流程,来自《lucene in action》

2009-03-22

lucenedome

亲密接触lucene,被它的强大简单所折服,俺用lucene+paoding做了一个demo。可以对测试文本索引,对文件索引,对数据库索引,详情请查看压缩包中ReadMe.txt文件

2009-03-22

webpy demo

python2.5 + webpy0.3 demo 用webpy做了一个简单的guestbook,webpy。一个简单的guestbook可能比hello word难一点点。尽管这个guestbook看起来显得有些累赘,但是里面用到了webpy的大多特性。

2008-12-24

adobe公司出品的spry

Adobe公司出品的spry框架 动态数据集很好用阿

2008-12-02

jQuery的一个插件——验证码插件

jQuery的一个插件——验证码插件 @example: $.idcode.setCode();

2008-12-02

空空如也

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

TA关注的人

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