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毫秒