Retourner au contenu associé (journal : Compilateur trop intelligent)
Posté par shbrol le 02 novembre 2017 à 19:36. En réponse au journal Compilateur trop intelligent. Évalué à 3.
Effectivement, le pointeur n'est pas initialisé, enfin... pas toujours
Pour le programme:
#include <iostream> int main(void) { int *p; std::cout << p << "\n" ; return 0; }
j'obtiens sans optimisation:
g++ -O0 p.cc && ./a.out 0x41d7b1
et avec optimisation:
g++ -O2 p.cc && ./a.out 0
Et j'ai un mauvais souvenir d'un autre compilo qui faisait l'inverse, initialisation implicite a zero en mode debug, et initialisation "aléatoire" en mode release... c'était surprenant.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: Comportement indéfini ou incorrect ?
Posté par shbrol . En réponse au journal Compilateur trop intelligent. Évalué à 3.
Effectivement, le pointeur n'est pas initialisé, enfin... pas toujours
Pour le programme:
j'obtiens sans optimisation:
et avec optimisation:
Et j'ai un mauvais souvenir d'un autre compilo qui faisait l'inverse, initialisation implicite a zero en mode debug, et initialisation "aléatoire" en mode release... c'était surprenant.