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

📄 5-4.htm

📁 计算机操作系统 西安电子科技大学出版社 操作系统实验
💻 HTM
📖 第 1 页 / 共 5 页
字号:
</span>Align x;<span style='mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*
force alignment of blocks */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} ;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
class=SpellE><span class=GramE>typedef</span></span> union header <span
class=SpellE>Header</span>;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># define NALLOC
10<span style='mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*
minimum #units to request */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
class=GramE>static</span> Header * <span class=SpellE>morecore</span>(unsigned <span
class=SpellE>int</span> <span class=SpellE>nu</span>) ;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
class=GramE>void</span> * <span class=SpellE>Malloc</span>(unsigned <span
class=SpellE>int</span> <span class=SpellE>nbytes</span>) ;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
class=GramE>void</span> Free(void *<span class=SpellE>ap</span>) ;<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><b style='mso-bidi-font-weight:
normal'><span style='font-family:楷体_GB2312;mso-ascii-font-family:"Times New Roman"'>步骤</span></b><b
style='mso-bidi-font-weight:normal'><span lang=EN-US style='mso-fareast-font-family:
楷体_GB2312'>2</span></b><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>:</span><span lang=EN-US><span
style='mso-tab-count:1'> </span></span><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>单击红帽子,在“</span><span
lang=EN-US>GNOME</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>帮助”菜单中单击“附件”</span><span lang=EN-US>-</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>“文本编辑器”命令,在文本编辑中键入清单</span><span lang=EN-US>5-5</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>程序并保存为</span><span lang=EN-US>my-<span class=SpellE>malloc.c</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>。</span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:黑体'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>清单5-5<span
style='mso-spacerun:yes'>&nbsp; </span>my-<span class=SpellE>malloc.c</span>文件<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># include &lt;<span
class=SpellE>unistd.h</span>&gt;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># include “<span
class=SpellE>my_malloc.h</span>”<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;</span><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
class=GramE>static</span> Header base;<span style='mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*
<span class=SpellE>empy</span> list to get started */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
class=GramE>static</span> Header * <span class=SpellE>free_list</span> = NULL;<span
style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*
start of free list */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/* <span
class=SpellE>Malloc</span>: general-purpose storage <span class=SpellE>allocator</span>
*/<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
class=GramE>void</span> * <span class=SpellE>Malloc</span>(unsigned <span
class=SpellE>int</span> <span class=SpellE>nbytes</span>)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Header *p, *<span class=SpellE>prev</span>;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>unsigned</span> <span class=SpellE>int</span> <span
class=SpellE>nunits</span>;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=SpellE><span
class=GramE>nunits</span></span> = (<span class=SpellE>nbytes</span> + <span
class=SpellE>sizeof</span>(Header) -1) / <span class=SpellE>sizeof</span>(Header)
+ 1;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>if</span> ( (<span class=SpellE>prev</span> = <span
class=SpellE>free_list</span>) = = NULL) {<span style='mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*
no free list yet */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=SpellE>base.s.next</span> = <span class=SpellE>free_list</span>
= <span class=SpellE>prev</span> = &amp;base;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=SpellE>base.s.size</span> = 0;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>for</span> (p = <span class=SpellE>prev</span> -&gt; <span
class=SpellE>s.next</span>; ; <span class=SpellE>prev</span> = p, p = p -&gt; <span
class=SpellE>s.next</span>) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>if</span> (p -&gt; <span class=SpellE>s.size</span>
&gt;= <span class=SpellE>nunits</span>) { <span style='mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*
big enough */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>if</span> (p -&gt; <span class=SpellE>s.size</span> =
= <span class=SpellE>nunits</span>) <span style='mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*
exactly */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=SpellE><span class=GramE>prev</span></span> -&gt; <span
class=SpellE>s.next</span> = p -&gt; <span class=SpellE>s.next</span>;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>else</span> {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
class=GramE>p</span> -&gt; <span class=SpellE>s.size</span> - = <span
class=SpellE>nunits</span>;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>p + = p -&gt; <span class=SpellE>s.size</span>;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>p</span> -&gt; <span class=SpellE>s.size</span> = <span
class=SpellE>nunits</span>;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=SpellE>free_list</span> = <span class=SpellE>prev</span>;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>return</span> (void *) (p + 1) ;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>if</span> (p = = <span class=SpellE>free_list</span>) <span
style='mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*
wrapped around Free list */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>if</span> ( ( p = <span class=SpellE>morecore</span>(<span
class=SpellE>nunits</span>) ) = = NULL)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>return</span> NULL;<span style='mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*
none left */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>}<span style='mso-tab-count:9'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*
<span class=SpellE>endfor</span> */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/* <span
class=SpellE>morecore</span>: ask system for more memory */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;</span><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp; </span><span class=GramE>static</span>
Header * <span class=SpellE>morecore</span>(unsigned <span class=SpellE>int</span>
<span class=SpellE>nu</span>)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>char</span> *cp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Header * up;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>if</span> (<span class=SpellE>nu</span> &lt; NALLOC)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=SpellE><span class=GramE>nu</span></span> = NALLOC;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class=GramE>cp</span> = <span class=SpellE>sbrk</span>(<span
class=SpellE>nu</span> * <span class=SpellE>sizeof</span>(Header) ) ;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:9.0pt'><span

⌨️ 快捷键说明

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