Mud 版 (精华区)

发信人: Baggio (傻瓜牌生活), 信区: Mud
标  题: 关于mudos运行流程的分析(转载)          xiha 
发信站: 哈工大紫丁香 (Tue May  4 20:32:32 1999), 转信

发信人: xiha (随风而去), 信区: Mud_Builder

标  题: 关于mudos运行流程的分析(转载)

发信站: BBS 荔园晨风站 (Sat Apr 25 23:04:17 1998), 转信

发信人: Ranma ( 乱马1/2), 信区: Mud_Wizard 

标 题: Re: 关于mudos运行流程的分析 

发信站: 广州网易 BBS (Tue Apr 14 22:17:06 1998), 转信 

真正mudos去调用的一个是master.c,一个是simul_efun.c 

如果仔细读了master.c,很多问题就解决了。 

【 在 yorgo (红日) 的大作中提到: 】 

: 大家好: 

: 今天我看了站上的一些文章,加上查看原程序,把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种类走向多样化。 

: Yorgo Sun 

: 1998/4/14 凌晨作 

-- 

※ 来源:.广州网易 BBS bbs.nease.net.[FROM: ab-2-145.bta.ne] 

                       [返回首页] [分类讨论区] [全部讨论区]

--

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 202.192.140.167]--

※ 转寄:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 172.18.32.20]


发信人: xiha (随风而去), 信区: Mud_Builder

标  题: 关于mudos运行流程的分析(转载)

发信站: BBS 荔园晨风站 (Sat Apr 25 23:04:17 1998), 转信

发信人: Ranma ( 乱马1/2), 信区: Mud_Wizard 

标 题: Re: 关于mudos运行流程的分析 

发信站: 广州网易 BBS (Tue Apr 14 22:17:06 1998), 转信 

真正mudos去调用的一个是master.c,一个是simul_efun.c 

如果仔细读了master.c,很多问题就解决了。 

【 在 yorgo (红日) 的大作中提到: 】 

: 大家好: 

: 今天我看了站上的一些文章,加上查看原程序,把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种类走向多样化。 

: Yorgo Sun 

: 1998/4/14 凌晨作 

-- 

※ 来源:.广州网易 BBS bbs.nease.net.[FROM: ab-2-145.bta.ne] 

                       [返回首页] [分类讨论区] [全部讨论区]

--

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 202.192.140.167]--

※ 转寄:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 172.18.32.20]


--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@fengyun.hit.edu.]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.412毫秒