2017-07-28 18 views

答えて

1

GDBは適切なデバッグ情報にアクセスできないようです。

(gdb) print ((double (*)(double))sqrt)(2) 
$1 = 1.4142135623730951 

それともあなたは、適切なデバッグ情報を読み込むことができます:

(gdb) ptype sqrt 
type = int() 

あなたはGDBに正しいタイプを伝えるためにキャストを使用することができます。その結果、sqrtintを返す関数であることを前提としています。

+0

私は投稿をhttps://stackoverflow.com/questions/5122570/why-does-gdb-evaluate-sqrt3-to-0で複製しましたが、その投稿で承認された回答(__sqrtを使用)は機能しません-1.0:-165394784を返します。 Florian Weimerの答えが私の作品です。 –

関連する問題