• 締切済み

timeGetTimeについて

宜しくお願いします。 http://www.tsg.ne.jp/sept/prg/memo/timegettime.asp 上記のサイトを参照してtimeGetTimeを利用して実行時間の計測をしています。 このサイトにはmmsystem.hをインクルード,winmm.libとリンクしデータ型はDWORD型とあります。 しかし,そうしなくともwindows.hをインクルードしdouble型でtimeGettime();を読み込んでも値を読み込んでくれます。そしておそらく正確な数値のようなのですが,これでも大丈夫なのでしょうか。また,なぜこれでもできるのでしょうか。 御指南ください。使っているコンパイラはBCCでC言語で組んでいます。

みんなの回答

  • jgk
  • ベストアンサー率75% (104/138)
回答No.2

WIN32_LEAN_AND_MEANを定義すると、あまり使われないヘッダーをインクルードしなくなります 。 mmsystem.hはインクルードされなくなるヘッダの一つです。 VC++の自動生成とかを使ったりとか、MFCやATLみたいなのを使ってるとかで WIN32_LEAN_AND_MEANがデフォルトで定義されてたりする場合があります、 そういう場合には、mmsystem.hをインクルードしてやる必要があるということです。

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.1

timeGettime関数の戻り値はDWORDですが doubleに直接代入する分には何も問題ないと思います 得られる値は同じ値のはずですがそういうことを言われてるんではないのでしょうか? 以下をやってるのと同じって意味です (コンパイルしてるわけではありませんので型違いでワーニングが出るかもしれません) DWORD a; double b; b=a=timeGettime();

関連するQ&A