• ベストアンサー

VC++2003の無限ループについて

VC++2003の無限ループについて質問なんですが、スレッドを使わない方法でパソコンをフリーズさせないようにする方法がわかりませんよろしくお願いします。

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

  • ベストアンサー
  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.1

> パソコンをフリーズさせない 無限ループを実行中に他へCPUを渡して他の処理も行いたいと言うことでしょうか。 DoEventsを使えばできます。 下記などを参照して見てください。 http://www.atmarkit.co.jp/fdotnet/dotnettips/136doevents/doevents.html

hanyu-yuugo
質問者

お礼

本当にありがとうございます。 無事解決しました。スレッドをしようしないでまさかフリーズを防止できるなんで思ってなかったです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 無限ループ

    今のプログラムが無限ループになる。しかも乱数を使っているので9割以上は正常で1割未満の確率で無限ループになるようです。 netbeans5.5でアプレットで実行は「ファイルを実行」(shift-F6)でやっています。なんとか無限ループになっている箇所を探す方法を教えてください。

  • 無限ループの防ぐ方法

    いつもお世話になっております、While文、for文などで 無限ループが発生した場合の良い対応方法を教えて教えて いただけないでしょうか? 最小限で且つ最速な変更が 一番助かります。 ------------------------------------------------------- 【例】 for(;;){ if(iNum == 10) break; } この場合だと、iNumが10になるまで抜けない為 無限ループになりPCがフリーズしてしまいます。 ------------------------------------------------------- 【対応】 【例】 for(;;){ if(iNum == 10) break; delay(1); } 一番簡単な対応だと、delay1を入れる事により PCのフリーズが防げると思います。ですが、delay1を入れる 事により処理が重くなってしまいます。 ------------------------------------------------------- そこで教えていただきたいのは、PCがフリーズさせない ような処理は他にないでしょうか? そのような関数が100ほどあるので、出来るだけ最小限な 改造で薦めたいと思っています。 以上です。

  • 無限ループと誤認される?[VC++2008]

    VC++6で実行可能だったプログラムがあるのですが、 VC++2008で動かしたところ止まってしましました。 なんでだろうといろいろ調べた結果、ループさせすぎ、ということがわかりました。 コードは t=0; dt=(1./ramda)/100.; tfinal=50; while(t<tfinal){ (処理) t=t+dt; } なんて感じなんですが、このtfinal=が50なら途中で止まり、15なら正常に終わります。 しかし50はしんどいけど15までならええよ、なんて怠慢な処理をされたくありません。 VC++6のほうがぜんぜんがんばり屋です。最近の若いヤツといったらなまけものでしょうがないですね。 どうすれば良いでしょうか。

  • 無限ループ??

     携帯にきたメールはPCにコピーを転送  PCにきたメールは携帯にコピーを転送したいんですが方法ってありますか 普通にしたら 無限ループになるかと・・・・

  • 無限ループ

    元日に発生した能登半島地震で家族を亡くした遺族の方のニュースを見て、胸が痛むと同時にこんな事をふと思い付きました。 自分の愛する家族。 自分にとって大切な家族が、不幸にも、事故や災害で亡くなってしまったとします。 当然それは受け入れ難い事です。 もしかしたら、後を追って自らも命を投げ出してしまう人もいるかもしれません。 そんな絶望の淵にいるあなたの所に、神様でも悪魔でもなく不思議な生命体が現れ、再び愛する家族に会わせてくれると言いました。 それはどういう事かと言うと、愛する家族が亡くなったその日に戻り、無限にその日を繰り返すというものです。 ですので、その日に何が起こるか既に分かっているあなたは、その災いから家族を守る事が出来ます。 しかし、その日が終わると、また同じ日の朝に戻るという無限ループが待っています。 家族を失った悲しみからは解放されますが、決してその日から先に進む事は出来ず、いずれ神経が参る事でしょう。 仮にそれであなたが自らを命を絶ったとしても、その瞬間、また同じ朝に戻ります。 こうなってしまっては、この無限ループに身を置いている事そのものがもはや生き地獄のようなものです。 この無限ループから抜け出す唯一の方法は、元々その日に起こった通りのままでその日を終える事。 つまりそれは、あなたが再び家族を失う事です。 そこで質問です。 もしもあなたが家族を事故や災害で亡くした時に、上記に記した不思議な生命体がこんな無限ループの中で再び家族に会わせてくれるとしたらあなたは受け入れますか? それとも、家族を失ったその絶望の淵にいる今を受け入れて、一歩一歩前に進む道を選びますか?

  • 無限ループとループ文

    プログラミングにおいて while文、for文、foreach文などループ文は種類がありますが 無限ループに繋がってしまう恐れが高い順などは存在しますか? どのループ文もミスなく慎重に 正確な書き方さえしていれば無限ループは起きないと思いますが もしそのような順が存在するのであれば、わからないので教えて頂きたいです。

  • 無限ループを抜け出す方法を教えて下さい。

    ご覧いただきありがとうございます。 タイトルの通り、無限ループを抜け出す方法を教えて頂きたいです。 for( ; ; i++) { printf( "%ld", i ); } たとえば、上記の無限ループをキー入力待ちをすること無しに、キー入力があった場合に途中で抜ける方法はあるのでしょうか? ご回答のほどよろしくお願いいたします!!

  • RTOSの無限ループ

    itron等のRTOSではタスク登録すれば while(1){ 処理; } という無限ループを抜けられるじゃないですか? いったいどういう仕組みで抜けているのでしょうか? ソフト的にはどうあがいても無限ループなわけで・・。 どなたか教えてください。

  • 義務感の無限ループ

    「こうあるべき」→「いやこうあるべきなどと思ってはいけない!」→「だからこうあるべきだ!」....この「~べき」の無限ループを断ち切る良い方法、お答えください。

  • 無限ループ対策

    プログラミングのデバッグ時、無限ループに入ってしまい、プログラムを強制終了することもままならなくなることがあります。 CPUのリソースを完全に使っているために、こちらの入力を受け付けなくなると思うのですが、 マルチCPU環境ではどういった状態になるのでしょうか? 無限ループは起こらないのでしょうか? さらに、デュアルコアCPUの場合はどうなのでしょうか? 無限ループのもどかしさから開放されるならPCを新調しようと思うのですが、 何かご存知の方教えてください。よろしくお願いします。