自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

游戏开发

unix,C/C++,lua 开发

  • 博客(16)
  • 论坛 (108)
  • 收藏
  • 关注

原创 语言之争和语言的选择及其他

总有很多人去比较各种开发语言,或者偏好某一种语言,总想在开发语言中分个三六九等出来,似乎用C++的就一定比用vb的高端,用汇编的就一定是大牛。其实语言只是工具,每种语言都有它自己的设计思想,过分的比较语言的优劣是没意义的。

2010-07-30 10:42:00 1007

原创 C++调用lua函数的一种通用办法

在C++中调用lua函数的一个通用接口,对于任意的参数类型组合都能适用。

2010-07-12 18:09:00 10221

原创 由uuid_to_string函数想到的C语言函数返回字符串问题

 下午让同事写一个函数,返回字符串形式的uuid给lua脚本,他的实现如下:static int new_uuid(lua_State* L){ char *uuidstr; uuid_t uuid; uint32_t status = 0; uuid_create(&uuid, &status); uuid_

2009-11-18 20:47:00 4154

原创 C/C++ 的全局变量初始化与不初始化的区别

在C语言里,全局变量如果不初始化的话,默认为0,也就是说在全局空间里:int x =0; 跟 int x; 的效果看起来是一样的。但其实这里面的差别很大,强烈建议大家所有的全局变量都要初始化,他们的主要差别如下:编译器在编译的时候针对这两种情况会产生两种符号放在目标文件的符号表中,对于初始化的,叫强符号,未初始化的,叫弱符号。连接器在连接目标文件的时候,如果遇到两个重名符号,会有以

2009-09-09 21:04:00 1485

原创 strchr 函数的问题

Standard C Library 里面的strchr函数的声明是:     char *     strchr(const char *s, int c); 光看这个声明就会觉得有问题,接收的参数是const char*, 返回的是非const的,也就是说: const char* str = ...char* ptr = strchr(str, c); 假

2009-08-03 14:46:00 1712 4

原创 POSIX 异步IO介绍

POSIX.1b定义了一系列新的IO操作,能较大地减少应用程序的IO等待时间。这些新函数允许应用程序发起一个或多个IO操作请求后立即返回做其他事情不必等到IO完成,IO操作可以跟应用程序并行执行。AIO控制块 struct aiocb 描述:int aio_fildes        需要操作的文件描述符,所关联的文件必须能支持seek操作。像pipe、socket等设备不能使用aio。off_t

2009-03-04 20:44:00 2402 1

原创 信号处理函数经常忽略的一个问题

理论上来说,信号处理函数里面调用“可重入”函数是安全的,比如下面的代码:void io_handler(int signo){ chdir("/hommmm"); // /hommmm 目录不存在}int main(){ signal(SIGIO, io_handler); int ret = rmdir("/home

2009-03-04 14:20:00 501

原创 设计模式之工厂方法模式

前段时间封装了两个socket类,一个clsServer一个clsConnection,希望能以回调的形式处理网络数据,用户只管读、写数据而不用关心socket fd什么时候可读什么时候可写,大概这个样子: //clsConnection//当数据可读时,自动把数据读到data中,调用clsConnection的OnRead函数clsConnection::OnRead( const

2009-03-04 12:08:00 467

原创 设计模式之观察者模式

 在游戏中,玩家登录的时候通常需要做很多事情,比如更新帮派在线列表,更新好友在线列表,游戏中还不时有些节日活动,这些活动可能也需要登录时做一些检查,所以登录函数通常会是这个样子:void TUser::Login(){ //帮派登录检查 Org.LoginCheck(this); //好友系统登录检查 Friends.LoginC

2009-02-19 17:00:00 1137

原创 设计模式之策略模式

今天一个同事遇到一个类的继承问题,问我怎么处理,用C++描述的话,问题差不多是这个样子(我很久不写C++了:D)class A{ public: virtual void f(){...}; virtual void g(){...}; virtual void h(){...};

2009-02-18 21:11:00 1318 2

原创 Makefile中头文件依赖的自动生成

gcc有参数可以把源文件的依赖关系全部导出来,比如: -bash:~$gcc -MM main.c 输出:main.o: main.c main.h 使用 -MM参数是只导出自定义头文件,-M则会把系统头文件也导出来。以下是一个自动生成头文件依赖的Makefile: 1 PYINC = /usr/local/include/python2.5/ 2 PYLIB = /usr/loc

2008-06-20 17:39:00 6350 4

原创 常用数据结构:链表、红黑树和SPLAY树

FreeBSD自带有这几种数据结构的实现,非常简洁通用。man queue和man tree分别可以看到说明,在sys/queue.h里面实现了单向链表、有尾指针的单向链表、双向链表、有尾指针的双向链表。在sys/tree.h里面实现了红黑树和SPLAY树。不用FreeBSD的可以在这里看到这两个文件的源码: http://fxr.watson.org/fxr/source/sys/tree.h

2008-06-20 17:15:00 3616 1

翻译 C++编码规范指南

原文见:http://www.codeproject.com/KB/cpp/cppstyle.aspx目录前言命名规范Tab键空格,大括号和圆括号防止重复包含类设计正确使用常量函数返回值杂项面向对象技巧前言为了编写能被其他开发人员理解的代码,你应该遵守一定的编码规范而不是使用你自己发明的独特风格。包括命名规范(就是你如何给你的变量和函数命名),代

2008-06-10 20:00:00 969

原创 posix多线程程序使用条件变量的一个常见bug

  因为类似的问题至少碰到3次以上,虽然很简单但是每次都花了不少时间来定位,所以决定写个demo来演示一下:)程序逻辑比较简单,主线程读入一个整数,分别有两个线程对这个整数求1~n的累加和。代码如下: #include iostream>#include pthread.h>#include string>#include unistd.h>using namespace std;in

2008-05-26 18:26:00 2615 5

原创 lua的C接口

用lua快一年了,因为引擎部分比较少改动,所以一直没用过它的C接口,都是在写脚本。年前看书时写了一个小的demo做学习用,好像当时遇到些困难,但是没有记录下来,几乎都忘了。这里贴点源码出来做备忘吧:)lua的语法还是比较简单,其官网(www.lua.org)上有电子文档(www.lua.org/pil/),看一看就会了。不过学会一门语言的语法跟用好一门语言还是两回事,好在它的源码也不多,多看看源码

2008-03-10 22:04:00 3275 1

原创 程序员面试

因工作需要前段时间大概面试了10人次左右的开发人员,主要是 Unix下C/C++程序员。说一下面试的一些经历和心得,有些确实是我之前没有预料到的。我并没有什么面试经验,四年前毕业时面试过一次,此后没再被面试过也一直没有机会去招聘。所以当我第一次面试别人的时候还是有点紧张的,很担心自己能不能在几十分钟的时间里面判断出一个人是否合适。首先应该说面试的时候应聘者是处于劣势的,先不说自己是来找工作的,

2008-03-08 02:20:00 2028 1

空空如也

关于DOS批处理,,,,急。。。

发表于 2003-01-19 最后回复 2012-11-23

哪位教我怎么写config.sys和autoexec.bat。。。。散分。。。。

发表于 2003-01-19 最后回复 2012-11-23

如何制作windows屏幕保护程序?...解决后后立即给分。

发表于 2003-03-09 最后回复 2012-11-23

这里有没有人熟悉规则表达式,帮我看看这个过滤IP地址的表达式哪里错了。。。

发表于 2004-08-06 最后回复 2012-11-23

管理员速进:我新发的文章,google一下,csdn找不到,但是在别的网站找到了

发表于 2009-09-10 最后回复 2009-09-18

请教如何用vbs打开word的帮助系统?

发表于 2007-12-26 最后回复 2007-12-27

朋友开鞋店,征一店名

发表于 2005-04-07 最后回复 2005-04-07

修理MM电脑的过程也是检查MM人品的过程<转>

发表于 2004-12-17 最后回复 2004-12-20

向窗口发组合键消息(控制游戏)

发表于 2004-11-30 最后回复 2004-12-17

鄙视工行,服务态度真差!!!

发表于 2004-12-05 最后回复 2004-12-16

这里有没有人熟悉mudos,看了几天还是有一些东西无法理解,请求帮助,谢谢!

发表于 2004-10-14 最后回复 2004-11-08

讨论一内存分配算法

发表于 2004-10-17 最后回复 2004-10-20

在FreeBSD下如何实现隐藏IP。。。

发表于 2004-08-08 最后回复 2004-09-01

为了女排,撒分!

发表于 2004-08-29 最后回复 2004-09-01

美工MM的“幸福”生活、、

发表于 2004-08-30 最后回复 2004-09-01

成星了,庆祝也罢、纪念也罢,撒200分,有看到的老鸟们进来冒个泡

发表于 2004-08-25 最后回复 2004-08-27

MDI中如果格举所有的子窗体。。。

发表于 2004-04-07 最后回复 2004-08-17

手上有个数据库题目!请大家帮忙看看,谢谢大家

发表于 2004-08-11 最后回复 2004-08-13

手上有个数据库题目!请大家帮忙看看,谢谢大家

发表于 2004-08-11 最后回复 2004-08-13

问一个很弱的问题,CGI跟ASP从原理上讲有什么不同?

发表于 2004-07-15 最后回复 2004-07-22

问一个SQL语句

发表于 2004-06-18 最后回复 2004-07-01

关于虚函数的一些问题,有点长请高手们多花点时间,谢谢!

发表于 2004-06-10 最后回复 2004-06-22

如果把菜单做成Builder的菜单一样。。可以拖动停靠的。。

发表于 2004-04-24 最后回复 2004-06-17

TADOQuery的Filter怎么过滤日期数据?

发表于 2004-06-12 最后回复 2004-06-16

用VC做了个数据库,报表不好做,想在CB里做成DLL形式,到VC里面去调用,大家帮我看看该怎么办?

发表于 2004-04-22 最后回复 2004-05-09

MDI窗体中,如果让不同的子窗口有不同的工具栏啊。。。

发表于 2004-05-06 最后回复 2004-05-08

程序在Debug下没问题一到Release下就运行不了。。。。谁遇过这样的问题?

发表于 2004-05-04 最后回复 2004-05-06

如何自己写一个“窗口”菜单。。。

发表于 2004-04-28 最后回复 2004-04-30

EDIT控件不能响应CTRL+V和CTR+C怎么办。。。

发表于 2004-04-20 最后回复 2004-04-28

在程序中实现把ACCESS表导到EXCEL中

发表于 2004-04-21 最后回复 2004-04-22

关于线程库,用户级线程,核心线程的一些概念性问题。。。

发表于 2004-04-11 最后回复 2004-04-19

如何得到CListCtrl的列数。。。

发表于 2004-04-08 最后回复 2004-04-09

关于拷贝构造函数的问题,哪位有空帮忙看看。

发表于 2004-03-23 最后回复 2004-03-25

关于用ADO读写Access数据库中日期时间数据的问题。。。

发表于 2004-03-24 最后回复 2004-03-25

关于ADO的问题,请帮忙。。。

发表于 2004-03-14 最后回复 2004-03-15

分飞燕。。。

发表于 2004-03-11 最后回复 2004-03-12

<手机醒目>不同情武月(转)

发表于 2004-03-08 最后回复 2004-03-10

刚才用QQ视频见到水园一美女,大家猜猜是谁?

发表于 2004-02-23 最后回复 2004-02-24

红鱼MM别哭了,我给你倒分...

发表于 2004-01-01 最后回复 2004-02-07

欢迎娜娜回来,放分。。。

发表于 2004-01-08 最后回复 2004-01-12

空空如也

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

TA关注的人 TA的粉丝

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