Dire que j'ai le code comme ceci (notez que dans l'éditeur, je peux voir les numéros de ligne)Dump Assemblée de donnée C++ ligne (s)
//File example_optimization.cpp
#1 int spreadi = (d_ai - d_bi);
#2 int transactionCosti = spreadi/(spreadi < 10 ? 1 : 10);
Si le compilateur est un compilateur optimisé et les drapeaux corrects sont définis , Je veux me prouver que la division par 1 n'a pas réellement lieu.
est-il un outil sous Linux (ou une combinaison d'outils qui peuvent être utilisés par un tuyau) où je peux dire quelque chose comme:
ctoassembler -c g++ -l 1 2 example_optimization.cpp
donc cette commande dit, appelez ctoassembler compilateur utilisation et éditeur de liens gnu g ++ et les lignes de vidage 1 à 2 du fichier C++ example_optimization.cpp. La valeur par défaut est de sortir le code de l'assembleur vers stdout.
Je me fiche de l'utilisation. Je suis intéressé à pouvoir voir ce que mon code est transformé par un compilateur sans avoir à le chercher moi-même. Cela ne me dérange pas d'utiliser des fichiers objets si cela le facilite, mais il est préférable d'afficher le code source C++ et le code assembleur correspondant côte à côte.
Bien, merci. – Ivan