Runtime-Compiled C++ pour modifier du code pendant l'exécution
Un outil prometteur ?
Le 2013-03-13 01:03:46, par germinolegrand, Membre expert
Hier, dans les flux d'isocpp.org, une courte nouvelle a attiré mon attention : Runtime-Compiled C++, un outil qui permettrait la modification du code source C++ d'un programme pendant son exécution, est en bonne voie pour conquérir le monde C++.
La vidéo en page d'accueil du blog donne un aperçu des possibilités de cet outil qui supporte déjà beaucoup de compilateurs (actuellement VS, gcc et clang, support pour Windows XP+, Mac OS X 10.7+, Ubuntu 12.04 64bits) puisqu'il ne nécessite pas de lourde modification à apporter au compilateur contrairement à Cling qui repose sur la LLVM.
Un exemple d'utilisation intéressante : une console in-game exécutant directement du code C++.
Ayant dans un de mes projets actuels la contrainte technique zéro-downtime avec introduction fréquente de mises à jour, RCC++ n'a pas manqué de se retrouver dans ma liste de projets à surveiller.
Cela soulève plusieurs questions : l'introduction de cet outil affecte-t-elle les performances de l'exécutable ? Est-ce utile dans le produit fini ou est-ce à dédier à la production ?
Ce projet vous semble-t-il intéressant ?
Avez-vous des contraintes vous imposant un programme sans downtime ?
Quelle approche utilisez-vous/utiliseriez-vous pour répondre à cette contrainte ?
Sources
Le blog officiel
Le dépôt GitHub du projet
La vidéo en page d'accueil du blog donne un aperçu des possibilités de cet outil qui supporte déjà beaucoup de compilateurs (actuellement VS, gcc et clang, support pour Windows XP+, Mac OS X 10.7+, Ubuntu 12.04 64bits) puisqu'il ne nécessite pas de lourde modification à apporter au compilateur contrairement à Cling qui repose sur la LLVM.
Un exemple d'utilisation intéressante : une console in-game exécutant directement du code C++.
Ayant dans un de mes projets actuels la contrainte technique zéro-downtime avec introduction fréquente de mises à jour, RCC++ n'a pas manqué de se retrouver dans ma liste de projets à surveiller.
Cela soulève plusieurs questions : l'introduction de cet outil affecte-t-elle les performances de l'exécutable ? Est-ce utile dans le produit fini ou est-ce à dédier à la production ?
Sources
Le blog officiel
Le dépôt GitHub du projet