• ベストアンサー

プログラミング初心者ですが…

変な質問ですみませんが…。 C言語の入門書でプログラミングをしていて、 <windows.h>というものが出てきました。 このwindowsというのはOSのWindowsとは関係ないんでしょうか? Linuxでも使えますか? sleep()関数とSleep()関数は違うのでしょうか? コンパイルするとエラーは出ませんでしたが、 sleep(1000)で実行すると、処理が途中で止まってしまいました。 Sleep(1000)とすると、動きました。 コンパイラはcygwinです。

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

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

windows.hはWinAPIのヘッダーファイルなのでLinuxでは使えません。 で、SleepはWinAPIなので、Linuxでは使えません。sleepはライブラリ関数なのでCであればほとんどは環境に依存せずに使えます。 Sleep()は引数がmsecで、sleep()はsecです。sleep(1000)はとまっているわけではなく、1000秒スリープしているというわけです。

track
質問者

お礼

なるほど…。わかりました。 ちなみに、Linuxでsleepを使う時は何をインクルードすればいいのでしょうか?

その他の回答 (3)

noname#183335
noname#183335
回答No.4

#1です。 sleepは #include <unistd.h> で使えます。

track
質問者

お礼

ありがとうございます。

  • shige_70
  • ベストアンサー率17% (168/946)
回答No.3

あらあら。とんでもない入門書を買ってしまいましたね。。。 その本は古本屋にでも売り飛ばして、別の入門書を買い直してください。

track
質問者

お礼

それは言えているかもしれません。 シリーズ60万部突破!と書いてあったので買いましたが…。 「10日で覚える…」シリーズです。

  • tasuke2
  • ベストアンサー率50% (1/2)
回答No.2

>C言語の入門書でプログラミングをしていて、 ><windows.h>というものが出てきました。 >このwindowsというのはOSのWindowsとは関係ないん >でしょうか? >Linuxでも使えますか? windows.hはOSのwindows用のヘッダです。Linuxでは使用できません。コンパイルすると、ファイルがないといわれると思います。 >sleep()関数とSleep()関数は違うのでしょうか? >コンパイルするとエラーは出ませんでしたが、 >sleep(1000)で実行すると、処理が途中で止まってしま>いました。 >Sleep(1000)とすると、動きました。 sleep()関数とSleep()関数はどちらも指定時間処理を停止する関数です。ただし指定できる時間の単位が違います。 sleep()関数は秒単位です。 Sleep()関数は1/1000秒単位です。

track
質問者

お礼

わかりました。 ありがとうございます。

関連するQ&A