掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
バージョンでTrunc結果が異なる (ID:49596)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
自己解決しました。 https://www.oreilly.com/library/view/delphi-in-a/1565926595/re62.html LoadLibrary() でDLLをインポートすると、 DLLのインポートテーブルをアドレス空間にマッピングしますが、 そのときDLLによっては(おそらくDLLの作り方による)、 浮動小数点コントロールワードの後始末をしないらしいです。 これを後始末するように対策したコードが、 SysUtils.SafeLoadLibrary() のようです。 http://docwiki.embarcadero.com/Libraries/Tokyo/ja/System.SysUtils.SafeLoadLibrary 必要なDLLをロードするSetStartApplication()の中で この関数を使ってDLLをインポートするようにしたところ、 D2010とD10.2で浮動小数点の精度設定が等しくなりました。 以上、ご協力ありがとうございました。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.