Maison >développement back-end >C++ >Comment puis-je visualiser l'instanciation de code de modèle C à l'aide de Clang ?
Visualisation du code de modèle instancié par le compilateur en C
Souvent, les développeurs souhaitent examiner le code généré par le compilateur à la recherche de modèles de fonction ou de modèles de classe pour approfondir l'interprétation de leur code par le compilateur. Cela est particulièrement vrai lors de l'utilisation de modèles complexes.
AST Pretty-Printing de Clang
Une solution complète réside dans l'utilisation de Clang (https://clang.llvm.org/ ), un frontal de compilateur C moderne et riche en fonctionnalités. Clang offre un outil inestimable pour visualiser le code de modèle instancié.
Considérez l'extrait de code ci-dessous :
<code class="cpp">template <class T> T add(T a, T b) { return a + b; }</code>
Lors de la compilation de test.cpp contenant :
<code class="cpp">template <class T> T add(T a, T b) { return a + b; } void tmp() { add<int>(10, 2); }</code>
Utilisez le commande suivante pour imprimer joliment le code instancié :
$ clang++ -Xclang -ast-print -fsyntax-only test.cpp
Sortie :
template <class T> T add(T a, T b) { return a + b; } template<> int add<int>(int a, int b) { return a + b; } void tmp() { add<int>(10, 2); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!