ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月27日(土) 15:34

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2005年10月04日(火) 17:05 
オフライン

登録日時: 2005年9月20日(火) 02:20
記事: 3
D3DXライブラリのSingle型の値を返す関数の戻り値が、他の関数同様
最初の引数のアドレスになってしまっています。
dx9abm.dllに問題があるような気がするのですが、どうでしょうか?
コード:
#prompt
#include <directx9\d3dx9.sbp>

Dim v0 = [2, 2, 1] As D3DXVECTOR3
Dim v1 = [1, 2, 0] As D3DXVECTOR3
Dim s As Single
Dim p As VoidPtr

s = D3DXVec3Dot(VarPtr(v0), VarPtr(v1))
memcpy(VarPtr(p), VarPtr(s), SizeOf(VoidPtr))
Print s
Print p, VarPtr(v0) '同じ値になる
AB Ver4.10.00


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年10月04日(火) 23:56 
オフライン
Site Admin

登録日時: 2005年5月30日(月) 15:08
記事: 535
ご報告ありがとうございます。

こちらで調査したところ、Single型の戻り値を持つ関数において、その戻り値をFPUレジスタを介して受け渡されずに、eaxレジスタを介してしまっているという不具合を発見しました。ご迷惑をおかけしてしまい、申し訳ないですm(__)m

本来の呼び出し規約では、Double型/Single型はFPUレジスタを介しての受け渡しとなりますので、次回のバージョンアップでそのように修正します。

なるべく即急に対応しますので、今しばらくお待ちください。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: Ahrefs [Bot] & ゲスト[8人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean