Автор Гілка: Coccinelle — автоматичний рефакторинг програм  (Прочитано 639 раз)

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3739
  • Карма: +9/-0
  • Програміст
Coccinelle — це програма, яка шукає семантичні збіги у програмному коді на Сі та перетворює код використовуючи «семантичні латки». Приклад:
Код: Diff
  1. @@
  2. expression lock, flags;
  3. expression urb;
  4. @@
  5.  
  6.   spin_lock_irqsave(lock, flags);
  7.   <...
  8. - usb_submit_urb(urb)
  9. + usb_submit_urb(urb, GFP_ATOMIC)
  10.   ...>
  11.   spin_unlock_irqrestore(lock, flags);
  12.  
  13. @@
  14. expression urb;
  15. @@
  16.  
  17. - usb_submit_urb(urb)
  18. + usb_submit_urb(urb, GFP_KERNEL)

Вираз expression оголошує, що на місці lock, flags, urb може бути будь-який вираз. Якщо виклик функції urb_submit_urb() знаходиться між викликами spin_lock_irqsave() та spin_unlock_irqrestore(), то додається параметр GFP_ATOMIC, інакше додається параметр GFP_KERNEL.

Домашня сторінка: https://coccinelle.gitlabpages.inria.fr/website/
« Змінено: 2021-08-15 22:37:26 від Володимир Лісівка »
[Fedora Linux]