自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码农成长日记

recordMyGrowing()

  • 博客(63)
  • 收藏
  • 关注

原创 CSDN TO JAVAEYE搬家小记

最近忍不了csdn蜗牛般的速度了,于是把博客搬到了JAVAEYE来,希望不要让我失望。 可惜JAVAEYE的那个博客导入用不了,于是我纯手动的迁移。。呼呼,累死我了~ 以后在JAVAEYE安居了~...

2010-08-27 13:20:24 127

原创 大话coding之 关于void的一点哲学思考

从今天开始本菜鸟将就编程里我遇到的一些有意思的东西写点点看法~ 取名叫“大话C、C++” 系列吧   早就想自己总结一下关于C、C++里一点关于void的思考了。发现几个非常有意思的地方。 void在C、C++里的意思是“空”。最常用的是,当一个函数不需要返回值的时候,就给它的返回值定义成void。或者一个函数不需要输入参数的时候,也将其定义为void。 “...

2010-08-27 13:14:45 125

原创 大话coding之 危险的拷贝构造函数

小A在图书馆借了一本非常好看的书,小B说:“哇!你的书太好看啦!也借我看看吧!” 小A说:“没问题啊,咱一起看吧!” 然后这本书就放那儿,谁想看就过去拿着看。 有一天图书馆管理员说:“小A啊,你赶紧还书啊,到时间了”,于是小A把书还了。 第二天小B过来想看书,一看傻眼了,书怎么没了?!尴尬ing ===============================...

2010-08-27 13:14:00 87

大话coding 之面向对象概念之争

—— 今天想了想,大话C、C++这个范围太小了,我还是改成这个系列为“大话 coding” 吧。其实就是记录一下我自己的一些瞎想。。(每天没事干时。。就想些这问题) 小学就开始简单的接触编程。。但是几乎直到最近才对面向对象有个系统的了解。 大学的时候虽然有这个课程,但是说实话,只知一点表层的东西。。今天来讨论一下所谓的面向过程、半面向对象、完全面向对象吧。 C语言是完全的面...

2010-08-27 13:13:34 184

原创 一个SDL的实验——模拟分子的运动

今天(周六)加班。。。给别的公司做技术支持,于是乎必须呆着,但是没事的时候自己安排。于是学学SDL,我用它写了一个可视化的C随机函数发生器的小程序。刚开始所有点都位于同一点,然后随机的向周围移动。模拟分子的运动情况。很有意思,这里分享一下代码,用的两个线程(一个线程刷新屏幕,一个线程用于计算)——这也是一个游戏采用的结构。    代码,貌似TAB缩进出了点问题。。...

2010-08-27 13:12:27 180

原创 数值测试,张无忌VS段誉

YACHY给了个游戏战斗计算公式,比较复杂。。。复杂的系统很难平衡,所以为了测试公式是否合适,我写了个测试机,实现两个机器人基于该设定PK,暂时给定 男一号 :张无忌    男二号:段誉。测试结果不太满意,然后我修改了一下公式。现在看来效果还不错~ 相当有意思的数值游戏!!  公式如下:攻击能力评估 g = 武器伤害 + (技能伤害 * 技能熟练度 * 技能与内功适...

2010-08-27 13:11:34 183

小翻译一篇介绍SDL的文章

  今天看到一篇大肆宣扬SDL的文章,介于我也小小的研究过一会这个2D游戏引擎,而国内对于这个引擎又推广不够,在此抛砖引玉 小小翻译一个吧。很多地方可能理解不对,大家多多包涵。先说说我对SDL的一些理解 1.SDL是一个2D游戏引擎(国内这么说,但是我觉得把它称为“引擎”还是太过了,我觉得引擎级别应该至少到framework了,SDL提供的功能没有这么强大。),其提供一个游戏必...

2010-08-27 13:10:31 135

一次失败的总结,HGE引擎该如何用?

大概三个月前,我在试着用几款2D游戏引擎。     第一款是SDL,这是同事推荐给我的一款跨平台的2D游戏引擎。这款引擎评价很高,总的来说是因为它够底层,实现的功能非常基本,又提供了一套平台无关的接口。所以开发人员在此之上可以天马行空的开发。不过我不是那么热衷底层……于是我在写了几个实验性的程序之后放弃了他。呵呵,当时研究它主要是因为自己也在做嵌入式,对跨平台很感兴趣。但是当时看一个老外,...

2010-08-27 13:09:38 302

原创 PHP服务器端通过命名管道与C/C++程序通信

在这几天的工作过程中,需要实现PHP在服务器端能与其他程序通信。和老何俩人研究了半天,终于大致弄出了一个用WINDOWS的命名管道通信的方法。 有几点需要注意的: PHP服务器端我们每次都是重新挂接命名管道。(这样写,PHP端代码量极其少,而且也很方便。) 那么我们用C/C++写的命名管道服务器则需要每次通信都创建一次管道(方法很恶心,但是暂时能实现,而且对效率要求不是那么...

2010-08-27 13:08:07 141

原创 C++类的静态成员函数在多线程的工作机制以及运行过程中强制结束线程实验

当时为了测试类的静态成员函数在多线程的工作机制以及运行过程中强制结束线程,自己写了个小程序。直接强制结束还是很危险的,很可能由于互斥锁而导致死锁。还可能会导致线程的资源无法释放,存在内存垃圾。OK。贴一下,供需要的人参考[code="c++"]//结论:类静态成员函数可以被多线程多次启用,互不干涉//运行过程中可以强制结束线程,但是要慎用!很...

2010-08-27 13:07:26 236

原创 C++子结构间接自杀实验

之前在写一个TCP/UDP通信程序的时候, 我想试验这样一个结构: 子结构通过父结构的的STL函数间接自杀。。 结果当时得出了一个结论,是可行的。 后来又在其他平台上报错,总之各种危险,以后还是不要写这种跟编译器、平台相关的危险代码。 后来的经验是,对于STL里的类实例(或者大STRUCT)最好都用指针统一管理。具体管理方法我将会另外写篇经验心得。 附上代码:  //为了试验在子结构中能否...

2010-08-27 13:06:32 209

对HGE游戏引擎的一次封装

HGE游戏引擎是一个开源2D游戏引擎,基于directX。 它的渲染及逻辑是基于帧回调的框架模式, 其提供一些基本的图像操作和输入控制功能。 我在之前写一个2D游戏的时候对它整个框架进行了一次封装,很多地方写得比较恶心,请原谅我在变量上命名的不规范。 在此分享出来,主要可以参考一下大体框架吧。 HGE游戏引擎基于帧的回调让我很不爽,因为咱的游戏逻辑一般是连续的,跟具体帧无关,所以我把整个HGE跑在...

2010-08-27 13:05:55 180

原创 HGE引擎GUI对象的扩展

 HGE引擎提供一个基本的GUI控件类,其不实现任何功能,但是提供一套虚函数和属性供派生类使用。开发者可以在此基础之上开发属于自己的控件,总的来说还是比较方便的。 我在开发自己的游戏框架过程中,吸取了许多经验教训。建议HGE引擎的使用者们不要直接在渲染过程中使用HGE提供的图形函数,而应该将他们全部都封装在GUI控件派生类中,这样有几大好处。 1. 更贴近面向对象,使得...

2010-08-27 13:05:11 134

原创 一个简单的游戏引擎核心状态机的C++实现

这个是我之前做的一个2D游戏(未完成)中的一部分,实现的整个游戏的状态机引擎部分框架,在此分享一下我的代码。 众所周知,一个游戏(或者一个应用程序),我们都可以把各部分界面切分为不同的状态,然后整个系统过程就是一个有限状态机。 我这里做的工作就是实现这个状态机框架以及具体的调度过程。 游戏主引擎类头文件 /* * CopyRight 2009 - 2010 ...

2010-08-27 13:04:32 110

SDL小尝试,是男人就坚持20秒

今天在电脑里掏出来自己以前试着使用SDL游戏引擎的时候做的一个简单版 是男人就坚持20秒的小游戏。。 玩家通过键盘WSAD操作人物躲避四面八方来的物体,看最终能坚持多长时间。 图片是随便在网上找的或者自己画的。  GAME OVER  简单的贴一下代码~   #pragma comment(lib, "sdl/lib/SDL.lib") ...

2010-08-27 13:03:52 112

原创 随机贪心算法简介(搜出一个自己高中的时候写的程序)

高三的时候准备信息学奥赛,到处做编程题。。 当时自己为AC了这道题得意了好一阵子…… 是TOJ上的一道题目,其解题思路涉及到 随机贪心。。 什么是随机贪心?这里用我自己的话给个简单的介绍吧。贪心算法就是根据问题的本质,给出一个最优解导向,然后不断的去迭代进而求出最优解。而在很多时候,未必能准确的找到这个最优解导向(或者根本不存在,比如NP问题),但却可以找到一个近似的导...

2010-08-27 13:02:55 391

原创 LINUX下PHP对命名管道操作权限问题解决小记

这两天碰到一个小问题卡了我老半天……就是LINUX下PHP程序与其他程序通信。 我们需要实现用户在WEB页面上进行操作时可以启用我们在服务器端的后台程序(用C、C++编写)。之前在windows下,已经使用命名管道实现(请见我之前的博文http://blog.csdn.net/rcfalcon/archive/2010/02/09/5303142.aspx),这次将服务器整体移往LIN...

2010-08-27 13:02:30 139

一个基于socket的资源共享平台的实现(四)

现在我们的整个系统基本可用了,还缺少什么?—— 客户端自动升级。 当我们把整个系统部署下去之后,如果打补丁、升级版本等,都需要让用户重新下载的话,肯定用户会觉得很厌烦。所以我们应该要开发一个loader,客户端能够自动检测更新、升级,并可以在服务器端打包升级流及升级流信息下发。 在此系统中,我直接是服务器下发一条升级信息(带版本号),然后与客户端当前版本号进行配对,若高于客...

2010-08-27 13:01:40 150

原创 一个基于socket的资源共享平台的实现(三)

需要共享资源,则需要探测本地资源分布情况。此处我们用的算法比较2……不过还是说说吧。 下面使用MFC的CFileFind实现一个本地文件递归收集器,以jason格式存储文件路径和文件大小: #ifndef COLLECTER_H_#define COLLECTER_H_#include<iostream>#include<vector&gt...

2010-08-27 13:01:18 104

一个基于socket的资源共享平台的实现(二)

继续上次说的,其实任务调度宏观上普遍分为两种,实现上总的来说就是一个串行、一个并行,上次我们介绍的TCP传送服务我们是使用并行的实现的(任务池),这次我们再来一个串行的,这就简单多了,就是一个队列,FIFO,我们用它来实现下载任务(假设我们下载任务只能单独进行)。 我们用一个NS_Download_Pool类来封装对其的管理。 #ifndef NETSHARE_DOWNLOAD_P...

2010-08-27 13:00:56 131

原创 一个基于socket的资源共享平台的实现(一)

前段时间和朋友一起做了一个类似于电驴、迅雷 + MSN工具的毛坯模型,基本上所有功能都是从socket通信级别向上实现。整体架构为C/S架构,使用MFC实现。技术上都是很老的东西,此文主要介绍类似于 电驴 的这样一个软件的设计思路和部分代码框架。我们实现的代码不是很优化,仅为设计思路的佐证。 我最初做这个小软件的想法是,方便一个小型网络中大家的资源共享和交流。每个人都能共享出自...

2010-08-27 13:00:19 418

原创 闲话,我的编程小历史

 96年,小学4年级,LOGO语言 —— 当时就觉得这个海龟语言很低效,但是很画出很多奇妙的规则图形。97年,小学5年级,FBASIC —— 小霸王、裕兴普及型电脑上带的一个8位机游戏开发小语言。98年,小学6年级,QBASIC、文曲星BASIC —— 尝试自己做点纯文字小游戏和小应用。。太2了,当时还用BASIC自认为很聪明的把DOS“封装”了一次,不用敲命令就能进行一些日常控制……...

2010-08-27 12:59:42 220

原创 ajax实现WEB页面上多任务同时作业

 今天需要写一个功能,对于数据库中的数据,在用户通过WEB显示出来的时候,自动启动服务器端脚本对每个数据的有效性进行检测,并将结果呈现给用户。 我考虑的就是,呈现每条数据的时候,启动一个ajax通信进程,将结果反馈回来就OK了。细节方面需要考虑的是,每个进程完成任务后在回调的时候如何知道它的“宿主”数据是哪一个(哪条数据发起的任务)。 还有由于XMLHttpRequest对...

2010-08-27 12:58:33 116

原创 像孩子一样,重拾好奇心

孩子的好奇心,总是无穷的。 记得我小时候,最喜欢看的书就是十万个为什么,家里的几本都被我翻烂了,面对一个个陌生的问题,总是那么的好奇,总是缠着“大人们”问这问哪,寻根究底。 读小学一、二年级的时候流行玩四驱车,当时很流行买一整套设备回来自己组装成一个小车。里面包含 马达、驱动轴、轮胎什么的,当时我也买了几个,记得当时那款车的代号好像还叫“破坏之王”。那时候弄懂了怎么组装小车,后来自...

2010-08-27 12:57:23 110

WIN平台下应用程序利用批处理更新自身

今天又碰到需要做一个简单的自动升级的客户端程序,客户端程序在拿到升级包并且解压之后,怎样自更新并再启动呢?这里我封装了一个类,利用批处理,将升级文件覆盖掉本地文件,然后重启动应用程序。 #ifndef KILL_MYSELF_H_#define KILL_MYSELF_H_#include <iostream>#include <vector&gt...

2010-08-27 12:56:47 247

原创 C++模板元编程

昨天WL发给我一段我觉得很“奇怪”的C++代码。。当时没看太懂,后来问了才知道是叫做模板元编程。  template <unsigned long N> struct binary { static unsigned const value = binary<N/10>::value << 1 ...

2010-08-27 12:56:14 121

原创 .NET软件运行架构 之 打破编译器的界限

之前在学校的时候,接触到的编程语言都是解释型(如basic)或者编译型(如C)。其有严格的compile-time与run-time的界限,基于该语言开发的程序员都不用关心底层的具体编译相关实现,最多也就调整一下编译设置,如linux下gcc的makefile等。 由于近些年的所谓“平台”越来越多,所以语言越来越强调跨平台性。于是我们可以看到来自sun公司一个伟大的发明——JA...

2010-08-27 12:54:53 115

一个纠结了我N久的 数集划分问题

记得在TOJ上曾经有一道题,大致意思如下: 将2N个整数平均分为两堆,每堆N个,使得两堆和的差值最小,求这个差值。 当时自己很自豪的用“随机贪心”的思想写出来的程序在OJ上居top1,(44K 0MS)看着一大堆用DP AC的选手们几百K的内存使用量+几十毫秒的计算速度,小得意了一把。 该随机贪心思想如下: 1 将2N个数随意分为两堆,称为A、B。2 若存在...

2010-08-27 12:54:12 88

TF/IDF概念学习笔记

今天晚上加班开发一套程序界面,等回到家已经11点30了。本来打算继续写我的GDE-X引擎,时间已经不够了。那么就学习一点东西吧,打开放在桌面上的吴军老师的《数学之美》,顿时发现一片新的天地。 —— TF/IDF概念。(turn frequency/Inverse document frequency)也称为词汇频率/逆向文本频率。 该技术是信息检索领域最重要的思想,用于确定检索关键...

2010-08-27 12:52:26 83

关于Interface与纯虚函数在设计中的区别

因为之前一直做C++,没有特别研究过Java、C#中的Interface概念。在看设计模式的时候,也弄得一知半解的。 今天在做GDE-X过程中,我想定义一个类似于 c++的纯虚函数的,派生类必须实现的函数。然后我发现在C#中,使用abstract(纯虚函数)和Interface(接口)都可以实现这个概念,于是甚感迷惑,请教了一下同事,终于弄懂了设计上的不同概念。 如果光从实现上...

2010-08-27 12:51:19 147

原创 silverlight 动画自管理

在GDE-X开发过程中需要对有的动画片段进行集中管理——可以归类到任务池结构。 一些动画需要启动后,按照一定的帧顺序展现,在展现完毕之后从画布中清除并释放所占用资源。  silverlight中对于storyboard等提供completed事件,在动画结束的时候回调。 若这种动画会同时出现很多个,则回调的时候需要拿到具体其对应的那个释放函数。这样若单独维护其成员变量就行不...

2010-08-27 12:49:47 77

原创 silverlight 动画自管理

在GDE-X开发过程中需要对有的动画片段进行集中管理——可以归类到任务池结构。 一些动画需要启动后,按照一定的帧顺序展现,在展现完毕之后从画布中清除并释放所占用资源。  silverlight中对于storyboard等提供completed事件,在动画结束的时候回调。 若这种动画会同时出现很多个,则回调的时候需要拿到具体其对应的那个释放函数。这样若单独维护其成员变量就行不...

2010-08-27 12:49:31 79

原创 过滤及提取电影资源名小算法(初级方案)

这两天干了件自己觉得很有意思的事情—— 互联网上各个视频网站,对电影资源的命名千奇百怪,比如 《阿凡达》高清版在线观看、西游记新版中文字幕(暑期必看!)、阿里巴巴与四十大盗拍摄花絮 …… 如果我们要将这些信息“数字化”,提取到我们的数据库中,则这样的垃圾命名会给我们带来很大的麻烦。 于是,我写了一个程序,简单的对这些垃圾信息进行处理。尽量提取出正确的电影名,并且在之...

2010-08-27 12:47:28 588

与comet的一次亲密接触——基于ajax的http的长连接技术

今天研究试验了一下“服务器推”的comet技术。 之前上GOOGLE GMAIL时也很好奇它的那个即时聊天框,居然可以在WEB页面中做到类似于QQ的聊天框,很有意思。最近才知道这个技术一直被WEB技术探讨,——WEB服务器如何向指定的客户端推送数据?因为HTTP传输机制的限制,一次HTTP请求就完整的包括了TCP建立、TCP传输 和TCP关闭。我们在一个页面被访问完毕之后,这次连接...

2010-08-27 12:46:20 90

WPF跨线程操作GUI控件

今天在实验Lua+WPF的时候碰到一个问题:我在主线程中写的LUA虚拟机的 dofile,但当我要令LUA脚本执行阻塞的时候,同时也会阻塞UI线程。 于是我把对LUA的接口挪到另一个单独的后台线程中,专门负责与LUA脚本的交互。编译一切正常,运行时THROW了异常,说不能在非创建UI元素的线程中改变UI元素属性。。 查了一下,C#就是这种机制,因为其GUI系统底层是内部单线...

2010-08-27 12:45:14 141

原创 Linux改变文件名和目录名的字符集

今天碰到个问题,中文文件和带中文的目录通过SVN取到WINDOWS系统,然后通过SCP传到LINUX服务器之后,出现了文件名及目录名编码集改变的问题。(都变成了GBK) 最后通过下载一个linux专门用于转换 文件名和目录名 的工具,convmv  转换指令如下: convmv -f [原始编码] -t [目标编码] -r(目录循环) --notest(实际改变,否则只是测...

2010-08-27 12:44:20 442

封装Lua for C#

为了搞懂LUA在我们的GDEX中到底怎么用,我决定研究一下如何比较好的在WPF里封装一个基于lua的APP  framework。 今天先对Lua for C#进行了一次简单的封装。在C#下用过Lua的人都知道,用C#实现一个函数之后和LUA绑定,需要用到Lua类的RegisterFunction方法。 在函数很少的情况下很好用,但是若需要绑定C#里成百上千个函数,则麻烦了,添...

2010-08-27 12:43:38 176

原创 VC编写windows服务程序

昨天一同学入职考核,需要用C/C++写一个服务程序,从XML读取配置,定期运行指定程序/脚本/命令……同学无解。。向我求助,然后我也没写过windows服务程序,于是琢磨了一下,弄出一个很简单的DEMO。 先从网上掏了一个VC6的程序叫 memorystatus ,其功能主要为启动一个服务定期向文件内写入当前剩余内存。然后看了一下windows自带一个sc.exe 用于管理服务。...

2010-08-27 11:48:25 300

WPF中WebBrowser注入javascript脚本

WPF的WebBrowser和WinForm的WebBrowser有一定区别。 要向其中注入javascript脚本,经过本人试验,下面一条路可以走通:  mshtml.HTMLDocument htmlDoc = Browser.Document as mshtml.HTMLDocument;var head = htmlDoc.getElementsByTagName(...

2010-08-27 11:47:29 395

原创 Comet初步研究与实践 – PHP到C#应用程序的数据推送DEMO

Comet初步研究与实践 – PHP到C#应用程序的数据推送DEMO  前段时间小接触了一下comet,关于其基本原理和代码示例请参考我之前的博文《与comet的一次亲密接触——基于ajax的http的长连接技术》 这次我们稍微系统的实现一个由PHP Web 服务器端向一个C#客户端应用程序推送的示例。实现“推送”、“用户状态”、“用户列表”的功能。具体一些代码细节就不详细介绍...

2010-08-27 11:46:31 120

空空如也

空空如也

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

TA关注的人

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