⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 valid_override.html

📁 Mud os datasheet No password
💻 HTML
字号:
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=bg2312">
   <META NAME="Author" CONTENT="Spock">
   <META NAME="GENERATOR" CONTENT="Mozilla/4.01 [en] (Win95; I) [Netscape]">
   <TITLE>MudOS v21c2 参考文件 - applies - master - valid_override</TITLE>
</HEAD>
<BODY TEXT="#CCFFFF" BGCOLOR="#000000" LINK="#33FF33" VLINK="#FF0000" ALINK="#33CCFF" BACKGROUND="../../../image/ff/fftitleback.jpg" NOSAVE>

<CENTER><FONT COLOR="#FF99FF"><FONT SIZE=+3>valid_override(4) MudOS v21c2 
(5 Sep 1994)</FONT></FONT></CENTER>

<HR WIDTH="100%">
<BR><FONT COLOR="#FFFFCC"> 名称:</FONT>
<UL>  valid_override - 控制使用 efun:: 的情形.</UL>
<FONT COLOR="#FFFFCC"> 语法:</FONT>
<UL>  int valid_override( string file, string efun_name );

<P>  整数 valid_override( 字符串 file, 字符串 efun_name );</UL>
<FONT COLOR="#FFFFCC"> 用法:</FONT>
<UL>  在主控物件 (master.c) 中加上 valid_override() 可以控制 efun:: 
这种前置语法 (prefix) 的使用情形. 当驱动程序尝试编译前面加上 efun:: 的函数时,
会调用主控物件的 valid_override(). 如果 valid_override() 返回 0, 则编译失败.
如此一来, valid_override()  可以让一些重要的外部函数不能用 efun:: 这种前置语法来修改这些外部函数的作用
(要修改原始外部函数时, 可以用同名的模拟外部函数 (simul_efun)  来修改.
并使用 valid_override() 禁止这些模拟外部函数被其他函数越权修改 (overriden)
).

<P>  如果您希望使用原来 3.1.2  版 efun:: 的作用, 只需要在主控物件 master.c
中加上下面这行:
<BR> 
<UL><FONT COLOR="#99FF99">  int valid_override(string file, string efun)
{ return 1; }</FONT></UL>
  底下是一个限制较多的 valid_override() 范例:
<BR> 
<UL>  <FONT COLOR="#99FF99">int valid_override( string file, string name
)</FONT>
<BR><FONT COLOR="#99FF99">  {</FONT>
<UL><FONT COLOR="#99FF99">   if (file == "/adm/obj/simul_efun") {</FONT>
<UL><FONT COLOR="#99FF99">    return 1;</FONT></UL>
<FONT COLOR="#99FF99">   }</FONT>

<P><FONT COLOR="#99FF99">   if (name == "destruct")</FONT>
<UL><FONT COLOR="#99FF99">    return 0;</FONT></UL>
<FONT COLOR="#99FF99">   if (name == "shutdown")</FONT>
<UL><FONT COLOR="#99FF99">    return 0;</FONT></UL>
<FONT COLOR="#99FF99">   if (name == "snoop")</FONT>
<UL><FONT COLOR="#99FF99">    return 0;</FONT></UL>
<FONT COLOR="#99FF99">   if (name == "exec")</FONT>
<UL><FONT COLOR="#99FF99">    return 0;</FONT></UL>
<FONT COLOR="#99FF99">   return 1;</FONT></UL>
<FONT COLOR="#99FF99">  }</FONT></UL>
</UL>
<FONT COLOR="#FFFFCC"> 作者:</FONT>
<UL>  Truilkan@Basis</UL>
<FONT COLOR="#FFFFCC"> 参考:</FONT>
<UL>  <A HREF="valid_object.html">valid_object(4)</A>, <A HREF="../../efuns/system/function_exits.html">function_exists(3)</A></UL>
<FONT COLOR="#FFFFCC"> 翻译:</FONT>
<UL>  Spock @ FF 97.Aug.7.  (printed 3/16/95)</UL>

<CENTER>
<HR WIDTH="100%"></CENTER>

<CENTER><A HREF="../master.html">回到上一页</A></CENTER>

<CENTER>
<HR WIDTH="100%"></CENTER>

</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -