当前位置: 技术问答>linux和unix
c语言问题
来源: 互联网 发布时间:2014-11-23
本文导语: static void reconfigure _PARAMS((int));怎么解释,主要是_PARAMS和((int)); 还有一段程序清大家帮忙看看; static void rotate_logs(int sig) { debug(1, 1, "rotate_logs: SIGUSR1 received.n"); rotate_pending = 1; #if !HAVE_SIGACTION signa...
static void reconfigure _PARAMS((int));怎么解释,主要是_PARAMS和((int));
还有一段程序清大家帮忙看看;
static void
rotate_logs(int sig)
{
debug(1, 1, "rotate_logs: SIGUSR1 received.n");
rotate_pending = 1;
#if !HAVE_SIGACTION
signal(sig, rotate_logs);
#endif
}
static void
reconfigure(int sig)
{
debug(1, 1, "reconfigure: SIGHUP receivedn");
debug(1, 1, "Waiting %d seconds for active connections to finishn",
Config.lifetimeShutdown);
reread_pending = 1;
#if !HAVE_SIGACTION
signal(sig, reconfigure);
#endif
}
谢谢
还有一段程序清大家帮忙看看;
static void
rotate_logs(int sig)
{
debug(1, 1, "rotate_logs: SIGUSR1 received.n");
rotate_pending = 1;
#if !HAVE_SIGACTION
signal(sig, rotate_logs);
#endif
}
static void
reconfigure(int sig)
{
debug(1, 1, "reconfigure: SIGHUP receivedn");
debug(1, 1, "Waiting %d seconds for active connections to finishn",
Config.lifetimeShutdown);
reread_pending = 1;
#if !HAVE_SIGACTION
signal(sig, reconfigure);
#endif
}
谢谢
|
第一个问题:
请注意文件预处理部分,应该会有以下语句(或类似语句)
...
#ifndef _PARAMS_TYPE
#define _PARAMS_TYPE 0
#endif
...
#if _PARAMS_TYPE
#define _PARAMS(list) list
0A#else
#define _PARAMS(list) ()
#endif
...
这样,如果将_PARAMS_TYPE定义为0,则
static void reconfigure _PARAMS((int));
被预处理器解释成
static void reconfigure();
0A如果将_PARAMS_TYPE定义为1,则
static void reconfigure _PARAMS((int));
被预处理器解释成
static void reconfigure(int);0D
可以很方便的设置同名但参数表不同的函数。
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
请注意文件预处理部分,应该会有以下语句(或类似语句)
...
#ifndef _PARAMS_TYPE
#define _PARAMS_TYPE 0
#endif
...
#if _PARAMS_TYPE
#define _PARAMS(list) list
0A#else
#define _PARAMS(list) ()
#endif
...
这样,如果将_PARAMS_TYPE定义为0,则
static void reconfigure _PARAMS((int));
被预处理器解释成
static void reconfigure();
0A如果将_PARAMS_TYPE定义为1,则
static void reconfigure _PARAMS((int));
被预处理器解释成
static void reconfigure(int);0D
可以很方便的设置同名但参数表不同的函数。
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
|
主要为适用不同的编程风格中,函数定义时参数的写法
如:int func_a(); 不申明参数类型,可重载
int func_a(int, char); 申明参数类型
如:int func_a(); 不申明参数类型,可重载
int func_a(int, char); 申明参数类型
|
__PARAMS指明函数的入口地址的对齐方式。((int))就是参数类型撒。为什么是两个括号,呵呵,我忘了。