Hacker les coroutines en C : une expérience de macro folle
Cet article détaille l’utilisation ingénieuse de macros C par l’auteur pour implémenter des coroutines dans le développement de logiciels embarqués, évitant ainsi le recours à un RTOS et simplifiant la logique de flux de contrôle complexe. L’auteur illustre la complexité de l’approche traditionnelle des automates à états finis avec un exemple de clignotement de LED, puis utilise des macros pour transpiler le code de coroutine en automates à états finis explicites, obtenant ainsi une fonctionnalité asynchrone. Bien que cette méthode soit verbeuse, elle démontre la possibilité de programmation concurrente sans RTOS et met en évidence la créativité du programmeur et sa profonde compréhension des techniques de bas niveau. L’article conclut en recommandant Rust pour le développement sérieux de coroutines.