Retourner au contenu associé (journal : printf debugging considered harmful)
Posté par peau chat le 07 septembre 2006 à 12:57. En réponse au journal printf debugging considered harmful. Évalué à 3.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: Heisenbug...
Posté par peau chat . En réponse au journal printf debugging considered harmful. Évalué à 3.
hl054353@ingvsx3j:/usr/include$ grep "FPU_DEFAULT" /usr/include/x86_64-linux/fpu_control.h
#define _FPU_DEFAULT 0x037f
Donc si tu transformes le code de la manière suivante :
void set_fpu(unsigned int mode)
{
asm ("fldcw %0" : : "m" (*&mode));
}
int main(int argc, char *argv[])
{
set_fpu (0x27F);
int a = 10;
printf("%d %d\n",
(int)( a*.3 + a*.7),
(int)(10*.3 + 10*.7));
return 0;
}
là tu auras bien les bons résultats, comme sur n'importe quel microprocesseur, ou n'importe quel autre un*x sur x86.