3
static struct file_operations memory_fops = {
    open:       memory_open,    /* just a selector for the real open */
};

これはuclinuxのmem.cファイルからのものです

4

2 に答える 2

6

これは GNU スタイルの初期化構文です。openメンバーは に初期化されmemory_open、残りは初期化されないままになります。C99 は別の構文を使用します ( .open = memory_open)。

于 2011-03-17T01:25:55.060 に答える
5

C では、最初から中括弧で囲まれた初期化子でオプションの末尾のコンマが許可されていました。のようなイニシャライザで均一なコンマ配置を使用できるようにするためにあります

struct SomeStructType s = {
  value1,
  value2,
  value3,
};

これにより、たとえば、必要が生じた場合に、リスト内の初期化子を再配置することが容易になります。使うか使わないかは個人の好みの問題です。

構文に関して:は、@geekosaur が既に説明したように、GCC 固有の拡張です。対応する機能は、異なる構文で C99 で標準化されました。

于 2011-03-17T01:42:28.877 に答える