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 + -
显示快捷键?