queue.c
来自「著名操作系统Plan 9的第三版的部分核心源代码。现在很难找到了。Plan 9是」· C语言 代码 · 共 45 行
C
45 行
#include "u.h"#include "lib.h"#include "mem.h"#include "dat.h"#include "fns.h"#include "io.h"intqgetc(IOQ *q){ int c; if(q->in == q->out) return -1; c = *q->out; if(q->out == q->buf+sizeof(q->buf)-1) q->out = q->buf; else q->out++; return c;}static intqputc(IOQ *q, int c){ uchar *nextin; if(q->in >= &q->buf[sizeof(q->buf)-1]) nextin = q->buf; else nextin = q->in+1; if(nextin == q->out) return -1; *q->in = c; q->in = nextin; return 0;}voidqinit(IOQ *q){ q->in = q->out = q->buf; q->getc = qgetc; q->putc = qputc;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?