0

gdbを使用して、標準のC数学ライブラリ(-lm -march = pentium3 -mfpmath = 387)に標準のC sin()関数を実装するアセンブラコードをステップ実行しました。そこにはたくさんのスタブがあり、なぜそれらがfsinアセンブラ命令を単純にインライン化していないのかわかりません。同じことが他の数学関数でも起こります。なぜ彼らは対応するFPU命令を呼び出さないのですか?

4

2 に答える 2

2

fsin「そこにたくさんのスタブ」があるため、x87命令よりも高速で正確です。一般に信じられていることとは反対に、ライブラリの作成者は一般に、自分が何をしているかを知っています。

于 2012-05-12T19:52:50.893 に答える
-1

おそらく組み込み関数を有効にする必要があります-sinf の組み込み実装は、インライン化されることはほぼ確実です (たとえば、誰かがそのアドレスを取得したり、その他の異常な状況が発生したりしない限り)。

VSでは、/Oi でコンパイルすることになります。

于 2009-09-15T18:33:03.567 に答える