gcc 4.7.2
c89
你好,
我正在审查某人的源代码,我遇到了这个。
我有这个声明和定义,我不明白它的作用。我知道静态意味着它不会从文件中导出。
static SERVICE_STATUS_HANDLE g_win_status_handle = NULL;
因为它被设置为 NULL 它看起来像一个指针。SERVICE_STATUS_HANDLE 没有在其他任何地方定义。只有这个文件。
它是这样使用的,这是比较 SERVICE_STATUS_HANDLE 转换为 0 或 NULL 后 g_win_status_handle 是否等于 NULL:
if(g_win_status_handle == (SERVICE_STATUS_HANDLE)0) {
/* do something */
}
像这样:
if(!SetServiceStatus(g_win_status_handle, &g_win_status)) {
/* do something */
}
非常感谢,如果有人可以对此有所了解。