• ベストアンサー

timeBeginPeriod()関数が使えるフリーのCコンパイラ

現在、WIN2000上での、Borland C++ 5.5.1 for Win32を使って、コマンドラインのプログラムを作成しています。 Windowsが起動してからの時間をミリ秒単位で返す関数timeGetTime()を使いたいのですが、 「mmsystem.hをインクルードしてwinmm.libとリンクする」教えてもらったのですが、これらはどこで入手できるのですか? 教えてくださった方はVC++を使っているのですが、これらはBC++では使えないのでしょうか?それとも、どこかから上記の2つを入手してLIBやIncludeフォルダに入れればいいのですか? やりたいことは至極簡単で、キーをたたいた時間間隔を表示したいだけです。 BC++以外のフリーのコンパイラでもかまいません。 timeBeginPeriod()関数と同機能の別の関数を定義してそれを使うというのでもかまいません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

   使ったことがないので、詳しいことはわからないが、 #include <windows.h> int main(void) { timeGetTime(); return 0; } で、とりあえずコンパイルは通った。 環境は、 Windows2000(SP4)、 Borland C++ 5.5.1 for Win32  

usatan2
質問者

お礼

#include <windows.h> とするのですね。正常に動きました。 知人に教えられたとおり #include <mmsystem.h> としてコンパイルしたら、 「エラー E2257 D:\アプリケーション\プログラムソース\bcc55\Include\mmsystem.h 114: , が必要」 といったエラーメッセージがたくさん出るので、 BC++では駄目なのかと思ってしまいました。

その他の回答 (1)

  • uta3
  • ベストアンサー率70% (21/30)
回答No.2

わざわざ入手しなくても始めから入ってますよ。 Include、Libのフォルダを確認してみてください。 timeBeginPeriodも使えるようです。

usatan2
質問者

お礼

確かに、検索したらありました。 BC++では、知人の教えてくれた #include <mmsystem.h> ではエラーになりましたが、NO.1さんのように #include <windows.h> とすると正常に動きました。 VC++では#include <mmsystem.h>で、正常にコンパイルできたというのですが・・・

usatan2
質問者

補足

すいません。前のコメント、勘違いでした。知人のVC++のプログラムでも #include <windows.h> がありました。原因は、別なところのようです。 動かない→簡単なプログラムでテスト→コンパイルエラー ということで、質問にいたりました。 とにかく、一件落着なので、ありがとうございました。

関連するQ&A