0

xv6 カーネルのファイルを読み込んでいますが、次の意味がわかりません。

static int (*syscalls[])(void) = {
 [SYS_fork]    sys_fork,
 [SYS_exit]    sys_exit,
 [SYS_wait]    sys_wait,
 [SYS_pipe]    sys_pipe,
...

}

誰かが私にこれを説明できますか?特に角括弧 (例: [SYS_fork]) の意味。ありがとうございました

4

2 に答える 2

0

これはおそらく、関数ポインターの配列を初期化する非標準的な方法です。識別子SYS_forkなどは、要素インデックスを指定するマクロまたは列挙定数である可能性が非常に高いです。

別の可能性として、これは C ファイルではなく、コンパイルの前にフィルタリング ツールを使用して構文的に有効な C ファイルに変換されている可能性があります。

于 2015-02-25T21:00:42.670 に答える