2011-04-26 126 views
2

我正在编写一个linux内核模块,并试图使用astyle来帮助我遵循编码标准。这似乎是错误地格式化spi_driver结构,我想知道是否有人知道为什么。这是传递给的astyle(用命令astyle --style=linux lightmod.c)之前的代码:Astyle代码格式化

static struct spi_driver light_driver = { 
    .driver = { 
      .name = "light", 
      .owner = THIS_MODULE, 
    }, 
    .probe = light_probe, 
    .remove = __devexit_p(light_remove), 
}; 

这是输出:

static struct spi_driver light_driver = { 
    .driver = { 
      .name = "light", 
      .owner = THIS_MODULE, 
    }, 
    .probe = light_probe, 
      .remove = __devexit_p(light_remove), 
       }; 

为什么缩进.remove这样?有人知道吗?

+1

我冒昧地添加了一个'[astyle]'标签并添加了一个链接。请确认我链接的是正确的东西。 :) – 2011-04-26 19:27:03

+0

如果您的代码使用选项卡,则可能需要在使用astyle之前将其替换为空格。或者,也许在astyle中有一个选项让它知道标签。 – karlphillip 2011-04-26 19:49:48

+0

我的代码确实使用空格而不是制表符;所以不是这样。 也,链接是正确的,谢谢。 – 2011-04-26 20:12:54

回答

1

我不认为这有很深的理由。 Astyle似乎无法正确处理C99的指定初始化器。如果使用oldstyle初始值设定项,则会将它们格式化为好。

+2

这在2017年仍然如此。 – sherrellbc 2017-07-26 19:50:00