转http://www.judymax.com/archives/262
今天在看示例程序时冒出来一句args = emalloc(BUFSIZ);
BUFSIZ
是什么意思,查了一下才明白。
这是stdio.h 中的一个宏定义,内容如下:
/* Default buffer size. */ #ifndef BUFSIZ define BUFSIZ _IO_BUFSIZ #endif
由注释即可知,这个BUFSIZ
代表了默认的缓冲大小。
它具体是多大呢?是_IO_BUFSIZ
这么大。这个_IO_BUFSIZ
又是多大呢?它是libio.h
中的一个宏定义,其内容如下:
#define _IO_BUFSIZ _G_BUFSIZ
好吧……这个_G_BUFSIZ
又是多大?它在_G_config.h
里,有:
#define _G_BUFSIZ 8192
好了,真相大白了!