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 */
}
誰かがこれに光を当てることができれば、どうもありがとう。