2010-11-10 9 views
1

est-il un outil disponible pour la conversion d'un code C avec des boucles (while, do-tout, pour) à un code C avec des déclarations goto au lieu des déclarations looping?outil pour enlever toutes les boucles dans le code C

J'ai essayé Clang. J'ai changé le code en IR et je l'ai reconverti, mais le code est totalement différent (plus de lignes, suivant le format SSA, ..) bien que logiquement parlant le même.

Il serait mieux si le code résultant ressemble plus aussi bien le code source d'origine. Sinon, j'aimerais connaître les différentes autres options disponibles.

+5

Aucun développeur qui se respecte ne rédigerait jamais un tel programme. – TeaDrivenDev

+2

Pourquoi voudrait-on un engin aussi horrible? – Nate

+0

Pour en écrire un, on utiliserait probablement une telle boucle ... – Nate

Répondre

3

Il a appelé un compilateur. Non seulement cela transformera toutes ces constructions de boucles ordonnées et ordonnées dans votre code en instructions de saut, mais cela permettra au code original de rester totalement inchangé et facile à maintenir.

Bonus spécial a ajouté: compilateurs ont des astuces pour accélérer votre code, il fonctionnera encore plus vite que si vous aviez naïvement converti votre C à l'assembleur. </snark >

Questions connexes