- 180 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 01:27:23 ]
- 倍精度の浮動小数点演算を多用する、レイトレーサの一種を書いてます。
VC++ 2008 Express Edition と icc 9.0 では問題なく動作するのに、 MinGW の GCC だと計算結果がおかしくなります(レイが想定外の場所に 飛んでいってしまう)。GCC の3つのバージョンを試しましたが変化なし。 gcc version 3.2.3 (mingw special 20030504-1) gcc version 3.4.5 (mingw-vista special r3) gcc version 4.3.0 20080305 (alpha-testing) mingw-20080502 (GCC) 実行環境は XP SP3 です。何かちょっとしたことを忘れている気がするん ですが、アドバイスをいただけませんか。よろしくお願いいたします。 >>178 基本的に VC++ やなんかと同じ要領で Win32 API を使ってアプリからでは。 Win32 API を使ったプログラミングは情報がたくさんありますよね。 Unix 環境のつもりでプログラムを書き始めるとライブラリ関数があれも これも無くて泣きを見ます。例えば ・GUI は Win32 API で手書きするか Win32 環境で使えるツールキットを使う。 ・gettimeofday() が無いので計時には Win32 の QueryPerformanceFrequency(), QueryPerformanceCounter() を使う。 ・共有ライブラリの動的リンクは dlopen() ではなく LoadLibrary() でやる。 ・OpenGL を使うには Win32 固有の wgl 関数群を用いる。 ・Win32 に移植された pthread ライブラリを使うのでなければ pthread_create(), pthread_mutex_init(), pthread_mutex_lock() ではなく CreateThread(), CreateMutex(), WaitForSingleObject() を使わないといけない。 といった具合です。Win32 環境のつもりで情報を集めるとよろしいかと。
|

|