今天我看了站上的一些文章,加上查看原程序,把mudos启动后,程序 运行的流程搞清楚了。小弟觉得只要有一个好的mudos,就可写出新的mudlib 框架。我拿用户连接来解释程序的运行流程。 在config.xxx文件中指出了master和global两个文件,这是十分重要的 文件。mudos启动后会加载上述两个文件(其它文件也有,但上述文件为主要 )进入内存,mudos中定义了一些特殊的函数,例如create()、init()等等, 这些函数都是在特定事件中由mudos自动调用的。当用户在port口请求连接的 时候,mudos自动调用master.c中的connect()函数,然后connect()函数调用 LOGIN_OB这个物件,而LOGIN_OB是个物件常量,在global.h中定义LOGIN_OB 的值是"/clone/user/login.c",也就是说connect()调用了login.c这个物件 在login.c中有一些特殊函数,如果按照用户正确登陆的流程,mudos自动调 用login.c中logon()这个特殊函数。在logon()中由调用LOGIN_D这一物件常 量,LOGIN_D在global.h文件中所定义的值是"/adm/daemons/logind",于是 mudos又把logind.c调入内存并运行。 我们一般认为mudos在编译前在它的设置文件中定义了用户login的程序 路径及文件名,编译后路径和文件名不可改,在用户连入的时候,mudos根据 路径自动启动用户登陆程序。其实非也,mudos只是一个对mud进行低级支持 的程序。 我们可以利用mudos,完全抛弃已有的mudlib框架,进行新的创作。这样 才能使中国的mud种类走向多样化。