主题:void 修饰函数和变量的疑问
刚才在 C语言里也发过的,不过毕竟代码来自 UNIX.所以在这里也发个。
OpenBSD ftpd 的源代码.是1997年前的,可能这些用法已经不在C
标准中了,所以拿出来问问大家。
A(void)修饰函数;
ex:ftpd/ftpd.c
(void) signal(SIGHUP, sigquit); //返回void
(void) fflush(stdout); //返回int
(void) fclose(fd); //返回int
B (void)修饰变量
ex: ftpd/ftpd.c [line 515]
static void
lostconn(int signo)
{
(void)signo; //修饰变量,此变量在程序中没用到。
if(debug)
syslog(LOG_DEBUG, "lost connection");
dologout(-1);
}
我的理解是他这样做是为了程序的效率或其他方面的考虑,但具体为什么,或者是有什么理由不清楚?
[em12]
OpenBSD ftpd 的源代码.是1997年前的,可能这些用法已经不在C
标准中了,所以拿出来问问大家。
A(void)修饰函数;
ex:ftpd/ftpd.c
(void) signal(SIGHUP, sigquit); //返回void
(void) fflush(stdout); //返回int
(void) fclose(fd); //返回int
B (void)修饰变量
ex: ftpd/ftpd.c [line 515]
static void
lostconn(int signo)
{
(void)signo; //修饰变量,此变量在程序中没用到。
if(debug)
syslog(LOG_DEBUG, "lost connection");
dologout(-1);
}
我的理解是他这样做是为了程序的效率或其他方面的考虑,但具体为什么,或者是有什么理由不清楚?
[em12]