Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
xv6 カーネルのファイルを読み込んでいますが、次の意味がわかりません。
static int (*syscalls[])(void) = { [SYS_fork] sys_fork, [SYS_exit] sys_exit, [SYS_wait] sys_wait, [SYS_pipe] sys_pipe, ... }
誰かが私にこれを説明できますか?特に角括弧 (例: [SYS_fork]) の意味。ありがとうございました
これはおそらく、関数ポインターの配列を初期化する非標準的な方法です。識別子SYS_forkなどは、要素インデックスを指定するマクロまたは列挙定数である可能性が非常に高いです。
SYS_fork
別の可能性として、これは C ファイルではなく、コンパイルの前にフィルタリング ツールを使用して構文的に有効な C ファイルに変換されている可能性があります。