ハマっている「お菓子」を教えて!

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

A 回答 (2件)

WIN32_LEAN_AND_MEANを定義すると、あまり使われないヘッダーをインクルードしなくなります



mmsystem.hはインクルードされなくなるヘッダの一つです。

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

timeGettime関数の戻り値はDWORDですが


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

DWORD a;
double b;
b=a=timeGettime();
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報