Mais lorsque je désassemble le code, je remarque que mon code fait toujours appel à la fonction get_value_2() au lieu de juste renvoyer 7 comme dans la vidéo.
À noter que j'ai également compilé mon programme avec cette commande pour comparer :
g++ file1.cpp file2.cpp impl.cpp -o prog2
Cela produit exactement le même exécutable (d'après ce que j'observe avec le désassembleur en tout cas).
J'ai également essayé de faire la même expérience avec Compiler Explorer (comme dans la vidéo) avec la même config mais la LTO ne s'applique pas non plus.
Même constat avec CMake...
J'ai du mal à comprendre ce qui ne fonctionne pas...
Quelqu'un pourrait m'aider à trouver où est le problème svp ?
Merci d'avance !
- Edité par ThomasAirain 2 février 2024 à 11:50:06
Question de néophyte: LTO sans optimiser, ça fait sens ? Que se passe-t-il en O3 avec et sans LTO?
EDIT: Après tests, le -03 change tout. D'ailleurs, pour lever l’inobservable il faudrait que main renvoie le résultat de get_value. Sinon, le programme ne fait rien.
Discord NaN. Mon site.