- ベストアンサー
プログラミング初心者ですが…
変な質問ですみませんが…。 C言語の入門書でプログラミングをしていて、 <windows.h>というものが出てきました。 このwindowsというのはOSのWindowsとは関係ないんでしょうか? Linuxでも使えますか? sleep()関数とSleep()関数は違うのでしょうか? コンパイルするとエラーは出ませんでしたが、 sleep(1000)で実行すると、処理が途中で止まってしまいました。 Sleep(1000)とすると、動きました。 コンパイラはcygwinです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
windows.hはWinAPIのヘッダーファイルなのでLinuxでは使えません。 で、SleepはWinAPIなので、Linuxでは使えません。sleepはライブラリ関数なのでCであればほとんどは環境に依存せずに使えます。 Sleep()は引数がmsecで、sleep()はsecです。sleep(1000)はとまっているわけではなく、1000秒スリープしているというわけです。
その他の回答 (3)
#1です。 sleepは #include <unistd.h> で使えます。
お礼
ありがとうございます。
- shige_70
- ベストアンサー率17% (168/946)
あらあら。とんでもない入門書を買ってしまいましたね。。。 その本は古本屋にでも売り飛ばして、別の入門書を買い直してください。
お礼
それは言えているかもしれません。 シリーズ60万部突破!と書いてあったので買いましたが…。 「10日で覚える…」シリーズです。
- tasuke2
- ベストアンサー率50% (1/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秒単位です。
お礼
わかりました。 ありがとうございます。
お礼
なるほど…。わかりました。 ちなみに、Linuxでsleepを使う時は何をインクルードすればいいのでしょうか?