#c #linux #coding-style #astyle
#c #linux #стиль кодирования #астиль #astyle
Вопрос:
Я пишу модуль ядра Linux и пытаюсь использовать astyle, чтобы помочь мне следовать стандарту кодирования. Кажется, что это неправильно форматирует spi_driver
структуру, и мне интересно, знает ли кто-нибудь почему. Это код перед передачей в astyle (с помощью команды astyle --style=linux lightmod.c
):
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]
тег и ссылку. Пожалуйста, убедитесь, что я ссылался на правильную вещь. 🙂2. Если в вашем коде используются табуляции, возможно, вам захочется заменить их пробелами перед использованием astyle. Или, может быть, в astyle есть опция, позволяющая ему быть в курсе вкладок.
3. в моем коде действительно используются пробелы, а не табуляции; так что дело не в этом. кроме того, ссылка правильная, спасибо.
4. Какая версия astyle? 1.24 выполняет работу лучше, но все еще не на 100%.
Ответ №1:
Я не думаю, что для этого есть глубокая причина. Кажется, что Astyle просто не может правильно обрабатывать назначенные инициализаторы C99. Если вы используете инициализаторы старого стиля, они отлично форматируются.
Комментарии:
1. Это все еще актуально в 2017 году.