代码改变世界

随笔分类 -  大学写过的文章

我想在年前找一份工作

2013-01-24 20:13 by respawn, 686 阅读, 收藏, 编辑
摘要: 好久不到博客园写博客.今天就来折腾一篇.放假好久了,刚回到家没多久. 北方的天气有点冷, 在家都不敢伸手出来敲代码. 闲来无事,也就在网上浏览一下招聘信息, 下学期不回学校了,所以我需要一份工作.发了好几份简历, HR都是以无工作经验拒绝. 有点悲剧, 工作经验, 这个真的不能伪造的. 不是需要工作经验, 就是学历有限制.话说,在回家的火车上, 我遇到了一位华南理工的妹子. 她是计算机专业的, 虽说我是网络工程的, 但是我也是软件开发方向的. 寂寞的旅途上,我们难免会讨论些专业方面的东西.随便聊了一些东西, 我很快就发现: 这位妹子是个"水货", 请原谅我这么直接. 不过, 阅读全文

Ogre wiki Application 运行我们的第一个程序

2012-12-15 11:28 by respawn, 943 阅读, 收藏, 编辑
摘要: Ogre官网有提供VIUSUAL STUDIO运行的实例,叫做WIKI APPLICATION,详情请参考 http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Setting+Up+An+Application+-+Visual+Studio在上面的一片文章中,我们运行的是OGRE的官网SAMPLE DEMO, 所以运行期的环境都是CMAKE生成的项目解决方案解决的,不需要我们配置,当然,如果你不是使用CMAKE重新生成项目解决方案,而是自己去配置原有的项目解决方案那就除外了.在上面有给出的LINK中,官网给出了比较详细的配置过程.不过还是有. 阅读全文

我们应该有一个属于我们自己的游戏 && 我是一只单飞的鸟

2012-12-13 10:42 by respawn, 3162 阅读, 收藏, 编辑
摘要: "我们应该有一个属于我们的游戏",从大一开始玩RPG的时候我们就这样说,现在依旧这样说,不同的是,大一的时候真的不懂怎么去做一个游戏,而现在逐渐明白.作为一个程序员,即将踏入岗位工作,相信或许曾经都有过一个游戏梦吧,幻想着某一天可以玩自己做的游戏.但是,我们的游戏应该是什么样子的呢?如果你是喜欢玩DOTA,可能你心目中的游戏就是DOTA;如果你喜欢玩CS,那你心中的游戏就是FPS;如果你是忠实的魔兽世界玩家,你心中的游戏也许就是端游.可是,我们的游戏到底应该是什么样子呢?相信每个人都会不一样.说句实话,我现在正在下载着,>,很简单的说,我喜欢FPS游戏,我喜欢的是3D 阅读全文

CMake VS2010 编译运行Ogre Sample

2012-12-13 03:20 by respawn, 4944 阅读, 收藏, 编辑
摘要: 作为开源游戏渲染引擎,Ogre是不错的,拿来学习也不错.Ogre官网的文档很全面,而且网页展示效果也很不错,看起来很舒服.商业引擎当然是玩不起的了,只能选择开源引擎了.不过,Ogre确实不错.作为学习的第一步,应该是先看看官网的实例,感受一下视觉效果和效率.(也许效率这个就根本就不用考虑,毕竟是业内认可的渲染引擎,想多了~)首先安装DirectX,这个不用多说了,MS的东西安装起来没有什么出奇的地方,点点鼠标就搞定了.安装之后需要看看下面这个,同样也是MS关于DX的文档.另外就是需要安装CMAKE,我一般都是习惯在LINUX下面使用CMAKE,不过感觉在WIN下面使用CMAKE-GUI也不错, 阅读全文

GCC LD_LIBRARY_PATH 和 LIBRARY_PATH

2012-11-28 08:25 by respawn, 6183 阅读, 收藏, 编辑
摘要: 今天在群里讨论一个问题,问题是从库链接器ld开始的.Example:当我们在使用POSIX Thread的时候,只要在编译的时候加上-lpthread选项就可以了.这是因为POSIX Thread就在LIBRARY PATH中,关于这点,可以通过gcc --print-search-dir来验证.1 respawn@respawn-F83VF:~$ gcc --print-search-dir2 安装:/usr/lib/gcc/i686-linux-gnu/4.6/3 程序:=/usr/lib/gcc/i686-linux-gnu/4.6/:/usr/lib/gcc/i686-linux-gn 阅读全文

lua 加载C动态库

2012-11-23 10:37 by respawn, 14473 阅读, 收藏, 编辑
摘要: 今天翻看luasocket的C源码,也翻看了很多BSD Socket的资料,算是重新复习了一下BSD Socket. 在ubuntu上面使用安装使用luasocket,我安装的是lua5.1,不要使用apt安装luasocket && luasocket-dev. 如果采用这种方式安装,测试luasocket是不能使用的.我们应该安装库,安装liblua5.1-socket.这样才可以.原因是,luasocket在调用的时候是lua加载C的动态库. 这个可以从luasocket的makefile看的出来. 1 all: $(SOCKET_SO) $(MIME_SO) 2 3 $ 阅读全文

基于cocos2d-x的游戏可以完全使用lua开发吗?

2012-11-12 02:43 by respawn, 8299 阅读, 收藏, 编辑
摘要: 今天和同学讨论关于在手游上面,socket到底是使用c++还是lua开发的问题.我比较倾向于使用Lua,当然为什么倾向于使用Lua,当然是和团队相关的.不过,我们短暂的交流并没有得出一致的结果.趁着晚上脑袋清醒的时间,又四处搜集了一些资料,随便在纸上画了画,思考这个问题.首先,本身cocos2d-x对Lua做了集成,这使得完全使用Lua开发单机版的游戏成为可能.当然,如果是针对单机游戏的开发,那思考这个问题也就没有必要了.其次,当需要使用进行数据交互的时候,可以使用原生的BSD SOCKET.另外,lua project提供了socket的集成封装包--luasocket.可以将luasock 阅读全文

在cocos2d-x中调试lua

2012-11-11 10:55 by respawn, 14791 阅读, 收藏, 编辑
摘要: cocos2d-x开发包中内置了lua,而且也内置了tolua++,提供了lua对C++的支持.在官网下载的开发包中的sample就包含了lua的实例.如何去调试项目中的lua代码呢? 今天的主题就是在cocos2d-x中调试lua代码.有两个工具可以选择,一个简单点,一个复杂点.1. Decoda(商用,需要收费,而且很贵,不过有好心人分享了破解版)2. LuaEdit(开源)我的意思不是在评价这两个debug工具,而是采用两种工具使用的方式难易.还是先说说简单容易操作的方式吧.这个不需要改动代码.(Decoda)我是在window上面编译的HelloLua sample,工具就是VS201 阅读全文

快速排序 Gnu glibc qsort_r

2012-10-22 19:00 by respawn, 4038 阅读, 收藏, 编辑
摘要: 今天,又重新看了一下GLIBC中快速排序的源码~ 又多了一些不同的理解,为什么这篇文章迟迟没有发布,也是因为对于源码没有深刻的理解,感觉很多点都不明白.今天就找了些资料,仔细揣摩了一遍源码,索性就写出来,有不到之处,请批评指正~之前一直都是以为GLIBC中的源码应该会花费大量的代码做通用处理,但是今天重新浏览之后,发现自己错了,哎~ 不过还是蛮高兴的,毕竟还年轻嘛~其实,GLIBC中快速排序的源码重点在榨取CPU的性能,提高快排的执行效率.为什么说是榨取呢? 因为源码真的将利用效率做到了极致.1 /* For large object sizes use indirect sorting... 阅读全文

快速排序 Gnu glibc qsort

2012-10-13 16:31 by respawn, 3284 阅读, 收藏, 编辑
摘要: 文笔不好,想不了太好的标题,所以就简单的将关键字列出来作为标题.先从一个小例子开始,这个例子是使用C library中的qsort函数完成一个数组的排序:/* qsort example */#include #include int values[] = { 40, 10, 100, 90, 20, 25 };int compare (const void * a, const void * b){ return ( *(int*)a - *(int*)b );}int main (){ int n; qsort (values, 6, sizeof(int), compare); ... 阅读全文

快速排序

2012-10-09 09:53 by respawn, 4538 阅读, 收藏, 编辑
摘要: 昨天通宵,早上四点的时候就开始写博客.结果五点的时候电脑罢工,自动重启.我写的东西也就都没有了,都怪自己平时没有保存的习惯。下次一定要注意,要养成保存的习惯,要不然再发生这样的情况,那就只能笑话自己还是个马马虎虎的小孩子了.刚才自己列了一下文章中需要讲到的部分,很庆幸,今天的状态还不错,自己还是很满意的.说到排序算法,首先来搞清楚一个问题,内排序和外排序指的是什么?要想解释这个问题,需要将内排序和外排序比较区分.内排序: 需要比较的数据数量相比较外排序少,排序的数据可以一次装入内存中,在内存中进行排序.外排序: 需要比较的数据数量相比较内排序多,数据无法一次装入内存进行排序操作.数据一般存储在 阅读全文

C++ Standard Stl -- SGI STL源码学习笔记(08) string

2012-09-10 15:39 by respawn, 5661 阅读, 收藏, 编辑
摘要: 从放假到现在,好久没有碰过STL源码了,回家的那段时间学习了lua,lua的学习资料比较少,有时间也发一些关于lua的文章,这个只能说,有时间再说吧.没事的时候就玩玩qt,文章在后面也会补上.昨天呼呼的睡了一整天,晚上FQ去了网络中心,一直坐到现在,熟悉的环境,看来,我还是逃离不了自己内心那份感情.但是,过去的就应该过去了,时间是可以改变这一切的,这只是时间问题.关于STL学习比较好的资料推荐:www.cplusplus.com有些时候我也是喜欢将这个网站的文档作为参考,然后结合SGI STL源码再分析,这样就能很好的理解和深入.好了,废话不多说了.下面就一起看看SGI STL中string的 阅读全文

技术控,等于EQ低?

2012-09-02 23:07 by respawn, 1270 阅读, 收藏, 编辑
摘要: 记得一次在马哲课上听到老师说过一句话:“理工专业的学生,有很多都是技术控,往往EQ很低。”当时我趴在桌子上睡觉,极度无聊中,但是听到这句话,立刻感觉中枪,然后立刻抬起头来,盯着老师看了一会,然后陷入思索中,现在不知道当时在想些什么了。在学校里面,有个同学和我关系很好,我们经常一起去饭堂吃饭,一般都是在路上就讨论技术,大多时候都是C,C++,Linux,吃饭的时候也是不停的讨论,当然也避免不了争执,反正就是努力用自己的观点说服对方。因为吃饭的时候难免还有其他同学和我们一起,所以经常被说是技术控,后来,他们自然也就习惯了。现在想知道的是,什么是技术控? 难道自己这样子的就是?上个学期在工行补卡,顺 阅读全文

VIM 管理好插件,神器也可以华丽~

2012-08-21 17:41 by respawn, 52885 阅读, 收藏, 编辑
摘要: 有过VIM使用和配置经验的同学都知道,VIM经过配置之后可以同IDE相媲美,作为神器当之无愧~不过,配置VIM也是很麻烦的,很多时候当我们需要换系统,或者是备份资料,到其他机器使用的时候就很麻烦.除了拷贝配置文件,还要把插件都拷贝过去,这确实是比较蛋疼的事情~最近在github发现一个新的管理插件 -- vundle,就试玩了一下,感觉还不错.不过,感觉这个插件已经问世很久了,如果真的是那样,那就只能说我后知后觉了.vundle使用很简单.git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle然后在.vimrc文件 阅读全文

程序员,背着屌丝的罪名.还要被人当作是修电脑的.

2012-08-19 19:26 by respawn, 5766 阅读, 收藏, 编辑
摘要: 前面的内容就当是我废话,后面才是吐槽的内容 阅读全文

Qt - 03 信号与槽机制

2012-08-17 15:10 by respawn, 1518 阅读, 收藏, 编辑
摘要: SIGNAL AND SLOTS,是Qt的核心机制,Qt和其他传统的GUI工具包不一样,不是采用CALLBACK响应触发动作.SIGNAL: 当对象本身发生了一些令对象的client和ower感兴趣的改变,那么信号就会被发射.只有定义过这个信号的类或者是其派生类才可以发射信号.当信号发射后,与其相关联的槽将被执行,就像是函数调用一样.信号槽机制独立与任何GUI事件循环,当所有的槽都返回的时候,就会返回发射清单.当使用queued connections稍微有些不同.如果多个槽与一个信号相连,当信号被发射后,槽将会按照槽连接的顺序一个接着一个的执行.(这里是Qt4.8 ReferenceDocu 阅读全文

Qt - 02 qmake

2012-08-16 19:49 by respawn, 2104 阅读, 收藏, 编辑
摘要: qmake是奇趣公司开发的,在08年的时候被Nokia收购.不要简单的以为"qmake = Qt + make"的意思,不是这个样子的.我们都知道目前有很多项目构建工具,最典型的就算是GNU的Autotools,CMake.至于两者之间的比较,CMake更胜一筹.Wiki搜索一下,可以看到很多使用CMake开发Qt应用程序模板.而另外的选择基本上就都是使用qmake,单单说Qt开发,使用qmake会让开发更简单,因为qmake是量身定制的.这要和Qt的moc联系在一起.moc,学习过Qt的人应该都清楚,这是一个用来生成一些与信号(signals)和槽(slots)相关的底层 阅读全文

Qt - 01 Qt环境搭建

2012-08-13 00:47 by respawn, 2696 阅读, 收藏, 编辑
摘要: 今天晚上弄了一下windows下的Qt开发环境. 本来打算用emacs+qmake学习Qt,但是考虑到还要在windows下面配置emacs,所以就放弃了这个想法,因为感觉有点浪费时间. 粗率的浏览了一下qt用户群的工具,对于qt的开发工具也是各有不同,大家的爱好很广泛~最后还是决定是用QtCreator,原以为环境搭建过程会很简单,但是中间却总是出问题.1.Qt的官网下载SDK,QtCreator,却忘记下载mingw-gcc4.4.~~ 因为之前我在win下有eclipse+cdt+mingw32的环境.觉得这是个不该犯的错误,有点2.2.QtCreator还是需要配置的,如果不配置的话, 阅读全文

C++ Standard Stl -- SGI STL源码学习笔记(07) stl_vector 与 一些问题的细化 3 resize函数剖析

2012-08-03 14:56 by respawn, 1812 阅读, 收藏, 编辑
摘要: 前面在介绍push_back函数的时候有说到placement new的用法.前面说的很简单.这几天处理一些其他的事情,直到昨天下午才有时间看源码,顺便安静的看一下书. 其中我又看到了挂关于placement new的介绍,那么就在文章开始之前先说一下这个问题. placement new又称"定为new"(我想这纯粹是翻译过来的意思.),当在禁止使用Heap分配的时候,也就是声明对象的构造函数为private的时候,我们不能调用构造函数去构造一个对象,这个时候就可以使用placement new. 前一段时间我在阅读sig stl源码的时候也看到了stl容器对于place 阅读全文

C++ Standard Stl -- SGI STL源码学习笔记(06) stl_vector 与 一些问题的细化 2 push_back函数剖析

2012-07-30 18:15 by respawn, 2622 阅读, 收藏, 编辑
摘要: 上一篇文章中,关于stl_vector的故事只是个开始. 这篇文章中,接着去分析vector中的细节问题. 再次声明,我没有看过关于stl源码分析方面的书籍,强调这一点是为了不会让别人误会我是从别的地方抄袭的. 另外,欢迎大家拍砖。 后面陆续的几篇文章都会详细分析vector中的函数实现.我尽量做到篇幅不大,而且能够尽量用自己的语言和自己分析的结果给大 家展现实现的过程. 这样不会浪费大家的时间.写的不好就请原谅了. push_back函数的作用就是从_M_finish指向的位置开始插入数据。如果预先分配的存储单元不够,则会做扩展处理.会在后面分析的时候 说明这个问题. vo... 阅读全文